Commit 65d65a0
committed
Let a host that needs no launcher run its own smoke test
Every macOS leg of the executor has been dying since the Rosetta gate
landed, after a complete and valid build: the SDK is finalized, the
static validation passes, the toolchain contract passes, and then
build-host.sh exits with `run[@]: unbound variable` and stages nothing.
The upload finds an empty out/ and the Intel host, which needs the arm64
SDK to cross from, fails behind it. arm64-apple-darwin is a required
host, so no snapshot could publish at all.
The launcher prefix is an array that is empty for every host that runs
its own binaries -- as the comment above it says -- and macOS's
/bin/bash is 3.2, where expanding an empty array under `set -u` is an
error rather than nothing:
$ /bin/bash -c 'set -u; run=(); "${run[@]}" echo hola'
/bin/bash: run[@]: unbound variable
$ /bin/bash -c 'set -u; run=(); ${run[@]+"${run[@]}"} echo hola'
hola
build_and_stage() already carries the tolerant form, and the reason for
it, three lines below.1 parent a75f246 commit 65d65a0
1 file changed
Lines changed: 7 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
160 | 163 | | |
161 | | - | |
162 | | - | |
| 164 | + | |
| 165 | + | |
163 | 166 | | |
164 | | - | |
165 | | - | |
| 167 | + | |
| 168 | + | |
166 | 169 | | |
167 | 170 | | |
168 | 171 | | |
| |||
0 commit comments