Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ae53546446 | |||
| fd59a74912 |
@@ -173,13 +173,23 @@ jobs:
|
|||||||
|
|
||||||
# Map link's binaries onto platform keys. The pattern is asserted, not
|
# Map link's binaries onto platform keys. The pattern is asserted, not
|
||||||
# assumed: an unrecognized asset name is a hard failure so that adding
|
# assumed: an unrecognized asset name is a hard failure so that adding
|
||||||
# a target to link's release.yml (aarch64, macOS) surfaces here as a
|
# a target to link's release.yml (macOS, a Windows arm64) surfaces here
|
||||||
# red run, rather than being silently dropped from every bundle.
|
# as a red run, rather than being silently dropped from every bundle.
|
||||||
|
#
|
||||||
|
# linux-aarch64 is recognized here BEFORE link publishes one
|
||||||
|
# (PLAN.md §5.2, step 1 of 4). That order is forced by the two rules
|
||||||
|
# below being strict in opposite directions: an unknown name fails the
|
||||||
|
# run, and a missing REQUIRED key fails it too. So the name has to be
|
||||||
|
# taught before the release that carries it, and the key can only be
|
||||||
|
# required after — requiring it first would fail every bundle for as
|
||||||
|
# long as the gap lasts. Step 3 promotes it into REQUIRED once a link
|
||||||
|
# release actually ships the binary.
|
||||||
: > work/link-platforms.tsv
|
: > work/link-platforms.tsv
|
||||||
while IFS="$(printf '\t')" read -r NAME URL; do
|
while IFS="$(printf '\t')" read -r NAME URL; do
|
||||||
[ -n "$NAME" ] || continue
|
[ -n "$NAME" ] || continue
|
||||||
case "$NAME" in
|
case "$NAME" in
|
||||||
*-linux-x86_64) PLAT=linux-x86_64 ;;
|
*-linux-x86_64) PLAT=linux-x86_64 ;;
|
||||||
|
*-linux-aarch64) PLAT=linux-aarch64 ;;
|
||||||
*-windows-x86_64.exe) PLAT=windows-x86_64 ;;
|
*-windows-x86_64.exe) PLAT=windows-x86_64 ;;
|
||||||
*) fail "unrecognized link asset '${NAME}' — bundle.yml does not know what platform to file it under. Teach it this name or the bundle would silently omit the asset." ;;
|
*) fail "unrecognized link asset '${NAME}' — bundle.yml does not know what platform to file it under. Teach it this name or the bundle would silently omit the asset." ;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -56,9 +56,11 @@ protocol) or to either component's release version. All three move independently
|
|||||||
"tag": "v1.1.0",
|
"tag": "v1.1.0",
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"protocol": 3,
|
"protocol": 3,
|
||||||
"assets": { // per-platform: the installer runs on both
|
"assets": { // per-platform: the installer runs on each
|
||||||
"linux-x86_64": { "name": "…", "url": "…", "sha256": "…" },
|
"linux-x86_64": { "name": "…", "url": "…", "sha256": "…" },
|
||||||
"windows-x86_64": { "name": "…", "url": "…", "sha256": "…" }
|
"windows-x86_64": { "name": "…", "url": "…", "sha256": "…" }
|
||||||
|
// "linux-aarch64" joins these from link's first release built for it;
|
||||||
|
// bundle.yml already knows the name (PLAN.md §5.2)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user