Description
The test (8.3) job in .github/workflows/ci.yml flaked twice on PR #47:
- Passes: Set up job, actions/checkout, Setup PHP, Validate composer, Cache Composer, Install dependencies.
- Then hangs ~21 minutes on the
Install build tools step, looping on:
Ign:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease
...
(Azure Ubuntu mirror unreachable from that runner.)
- Canceled:
##[error]The operation was canceled.
test (8.2) and test (8.4) passed with identical code. A third re-run of 8.3 eventually succeeded.
This is a CI infrastructure/mirror flake, not a product-code defect. The Install build tools step runs bare sudo apt-get update with no retry, no timeout, no fallback mirror, no continue-on-error — so a single transient mirror failure from one runner cancels the whole job after 21 min.
Where
.github/workflows/ci.yml — the Install build tools step (apt-get update for the C++ build tools).
Suggested fix
Harden the apt step, e.g.:
- Retry
apt-get update a few times with a backoff (for i in 1 2 3; do sudo apt-get update && break || sleep 5; done).
- Or switch the runner's sources away from the Azure mirror to the default
archive.ubuntu.com before apt-get update.
- Or set a
timeout-minutes on the step so it fails fast instead of hanging 21 min.
Discovered during the #43 cycle (proof of work: .workflow/proof_of_work/043-bug-ffi-local-build-fallback-hardcodes/findings-review.md, finding 3); verified read-only against main — no duplicate in open or closed issues (nearest neighbor #133 is about CI matrix breadth, not apt reliability).
Description
The
test (8.3)job in.github/workflows/ci.ymlflaked twice on PR #47:Install build toolsstep, looping on:##[error]The operation was canceled.test (8.2)andtest (8.4)passed with identical code. A third re-run of 8.3 eventually succeeded.This is a CI infrastructure/mirror flake, not a product-code defect. The
Install build toolsstep runs baresudo apt-get updatewith no retry, no timeout, no fallback mirror, nocontinue-on-error— so a single transient mirror failure from one runner cancels the whole job after 21 min.Where
.github/workflows/ci.yml— theInstall build toolsstep (apt-get update for the C++ build tools).Suggested fix
Harden the apt step, e.g.:
apt-get updatea few times with a backoff (for i in 1 2 3; do sudo apt-get update && break || sleep 5; done).archive.ubuntu.combeforeapt-get update.timeout-minuteson the step so it fails fast instead of hanging 21 min.Discovered during the #43 cycle (proof of work:
.workflow/proof_of_work/043-bug-ffi-local-build-fallback-hardcodes/findings-review.md, finding 3); verified read-only againstmain— no duplicate in open or closed issues (nearest neighbor #133 is about CI matrix breadth, not apt reliability).