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