{"record":{"id":"cdd301946c0b6cda","repo":"astrid-runtime/astrid","slug":"signed-release-metadata-does-not-support-target","errorCode":null,"errorMessage":"signed release metadata does not support target '{target}'","messagePattern":"signed release metadata does not support target '(.+?)'","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/astrid-cli/src/commands/update_channel.rs","lineNumber":414,"sourceCode":"        return Ok(pointer.target(target)?.blake3.clone());\n    }\n    let (extension_asset, extension_kind, extension_targets, label) =\n        if MUSL_TARGETS.contains(&target) {\n            (\n                musl_metadata_asset(pointer.version()),\n                \"astrid-release-musl-extension\",\n                MUSL_TARGETS,\n                \"musl\",\n            )\n        } else if WINDOWS_TARGETS.contains(&target) {\n            (\n                windows_metadata_asset(pointer.version()),\n                \"astrid-release-windows-extension\",\n                WINDOWS_TARGETS,\n                \"Windows\",\n            )\n        } else {\n            bail!(\"signed release metadata does not support target '{target}'\");\n        };\n    let extension_url = exact_asset_url(release, &extension_asset)?.to_owned();\n    let extension_bundle_url =\n        exact_asset_url(release, &format!(\"{extension_asset}.sigstore.json\"))?.to_owned();\n    let extension = source\n        .download(\n            &extension_url,\n            MAX_MANIFEST_BYTES,\n            &format!(\"immutable {label} release metadata\"),\n        )\n        .await?;\n    let extension_bundle = source\n        .download(\n            &extension_bundle_url,\n            MAX_BUNDLE_BYTES,\n            &format!(\"{label} release metadata authentication bundle\"),\n        )\n        .await?;","sourceCodeStart":396,"sourceCodeEnd":432,"githubUrl":"https://github.com/astrid-runtime/astrid/blob/affd8760f44190dbdfbec23403f4c4b642c33112/crates/astrid-cli/src/commands/update_channel.rs#L396-L432","documentation":"resolve_target_blake3 maps a Rust target triple to the appropriate signed-release extension asset (linux or windows). If the target is neither one of the handled Linux targets nor a Windows target handled by the WINDOWS_TARGETS path, the signed channel metadata has no asset mapping and the function bails with this message.","triggerScenarios":"Calling resolve_signed_channel for an update on a target triple not covered by the metadata's target tables, e.g. freebsd, a musl variant, or an aarch64-windows target absent from WINDOWS_TARGETS — the else branch at update_channel.rs:414 fires.","commonSituations":"Running the updater on an unsupported platform; a typo'd or custom CARGO_TARGET_TRIPLE; a newly released target not yet added to the release metadata tables; CI cross-compilation to an unlisted triple.","solutions":["Add the new target triple and its extension asset mapping to the target tables (WINDOWS_TARGETS or the Linux branch) in the release metadata code","Verify the running target triple matches a supported one (rustc -vV / std::env::consts) before attempting the update","Build the extension asset for the missing target and publish it with signed release metadata","Fall back to manual download instructions for unsupported targets"],"exampleFix":"// before\n} else {\n    bail!(\"signed release metadata does not support target '{target}'\");\n};\n// after\n} else if LINUX_AARCH64_TARGETS.contains(&target.as_str()) {\n    linux_metadata_asset(pointer.version())\n} else {\n    bail!(\"signed release metadata does not support target '{target}'\");\n};","handlingStrategy":"fallback","validationCode":"fn target_supported(t: &str, windows: &[&str], linux: &[&str]) -> bool { windows.contains(&t) || linux.contains(&t) }","typeGuard":null,"tryCatchPattern":"match resolve_target_blake3(&source, &pointer, &target) {\n    Ok(plan) => plan,\n    Err(_) => return print_manual_update_instructions(&target),\n}","preventionTips":["Check std::env::consts::OS/ARCH against the supported target list before updating","Add every released target triple to the metadata tables in CI","Fail fast at CLI startup on unsupported platforms"],"tags":["update-channel","unsupported-platform","target-triple"],"backgroundTag":"unsupported-platform","analyzedSha":"affd8760f44190dbdfbec23403f4c4b642c33112","analyzedAt":"2026-09-09T21:28:12.402Z","contentChangedAt":"2026-09-09T21:28:12.402Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}