ci: fix gated x86 job staying 'queued' instead of 'skipped'
Some checks failed
CI / Go Tests (push) Has started running
CI / Build Go Binaries (amd64, linux, linux-amd64) (push) Has been cancelled
CI / Build Go Binaries (arm64, linux, linux-arm64) (push) Has been cancelled
CI / Shellcheck (push) Has been cancelled
ARM64 Build / Build generic ARM64 disk image (push) Failing after 14m12s

After v0.3.1 published successfully, run 524 stayed in 'queued' status
overall even though all 5 jobs that actually ran completed at success.
Cause: the gated build-iso-amd64 job is `if: false` with
`runs-on: amd64-linux`. No runner matches `amd64-linux`, so Gitea
queued the job indefinitely waiting for one. The `if:` expression
is only evaluated when a runner actually picks up the job, so the
skip never fires.

Switch the runs-on to `ubuntu-latest` (which our Odroid claims). The
runner picks the job up, evaluates `if: false`, marks it `skipped`,
and the run as a whole concludes properly.

Comment block updated to flag the two lines to flip when a real
amd64-linux runner is registered.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-15 19:38:15 -06:00
parent 48267e1cbc
commit fb24e641ce

View File

@@ -76,14 +76,15 @@ jobs:
build-iso-amd64: build-iso-amd64:
name: Build x86_64 ISO + disk image name: Build x86_64 ISO + disk image
# Routes to a runner with the `amd64-linux` label. As of v0.3.x no such # Gated until an amd64-linux runner is registered. We use `runs-on:
# runner exists in this Gitea instance — the only runner is the Odroid # ubuntu-latest` (which the Odroid claims) so SOME runner picks the job
# which is arm64 and would fail apt-installing grub-efi-amd64-bin / # up and evaluates `if: false`, marking it `skipped` instead of leaving
# syslinux because those packages aren't in the arm64 ports repo. The # it `queued` forever — the latter holds the overall run in `queued`
# job stays in the workflow (so it auto-runs once an amd64 runner is # state even when every load-bearing job is complete. When we get an
# registered) but is gated and the release job continues without it. # amd64 runner, flip `if: false` to `false` -> `true` (and flip the
if: false # remove this line once an amd64-linux runner is registered # `runs-on:` back to `amd64-linux`).
runs-on: amd64-linux if: false
runs-on: ubuntu-latest
needs: build-binaries needs: build-binaries
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4