Skip to content

ci: stop the required checks from failing on unrelated changes - #492

Merged
fujibee merged 1 commit into
mainfrom
ci/stabilize-required-checks
Jul 26, 2026
Merged

ci: stop the required checks from failing on unrelated changes#492
fujibee merged 1 commit into
mainfrom
ci/stabilize-required-checks

Conversation

@fujibee

@fujibee fujibee commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Two independent CI defects were failing REQUIRED checks on pull requests that changed nothing relevant to them. Both are measured, not inferred.

1. The macOS bats timeout is stale

timeout-minutes: 15 was chosen when the suite ran in about 5 minutes — its comment still says so. The suite is now 728 tests, and successful macOS runs measure 11m57s, 12m31s, 12m32s, 13m58s and 14m10s. That leaves 1-3 minutes of headroom.

The result: 9 of 19 sampled runs were cancelled, every one of them at ~15m18s. The stop point varied (last passing test was 528, 572, 623, 627 or 640 on different runs), which is what separates a timeout from a hang — a hang stops at the same place every time.

Raised to 25, matching the app-test-windows job in the same file.

2. The Windows sqlite3 install is unverified

choco install sqlite intermittently fails when the chocolatey community feed returns 504:

Failed to fetch results from V2 feed ... 504 (Gateway Timeout).
Chocolatey installed 0/0 packages.

The verification step ended in || echo "sqlite3 not found on PATH", so it exited zero and the job carried on. About three minutes later the install tests failed with Error: sqlite3 is required but not found. — which reads as a defect in whatever pull request happened to be running. The same pull request passed on re-run once chocolatey returned Chocolatey installed 1/1 packages, with an unchanged diff.

The install step now retries up to three times, and the verification step fails immediately when sqlite3 is genuinely missing.

Effect

No test or product behaviour changes. This only stops unrelated pull requests from being blocked by infrastructure.

Two independent defects were making `bats (macos-latest)` and
`bats (windows-latest, install helpers)` — both REQUIRED checks — fail on
pull requests that changed nothing relevant to them.

1. The macOS bats timeout was stale. `timeout-minutes: 15` was set when the
   suite ran in about 5 minutes. The suite is now 728 tests and macOS
   measures 11m57s-14m10s, so only 1-3 minutes of headroom remained. Nine of
   nineteen sampled runs were killed at ~15m18s, each at whatever test it
   happened to be executing (the stop point varied between tests 528 and
   640, which is what distinguishes a timeout from a hang). Raised to 25,
   matching the app-test-windows job.

2. The Windows sqlite3 install was unverified. `choco install sqlite`
   occasionally fails when the chocolatey community feed returns 504,
   logging "Chocolatey installed 0/0 packages". The verification step ended
   in `|| echo "sqlite3 not found on PATH"`, so it exited zero and the job
   continued, failing about three minutes later inside the install tests
   with "sqlite3 is required but not found" — a message that reads like a
   defect in the pull request under test. The install now retries, and the
   verification step fails immediately when sqlite3 is genuinely absent.

No test or product behaviour changes.
@fujibee
fujibee merged commit e743a81 into main Jul 26, 2026
7 checks passed
@fujibee
fujibee deleted the ci/stabilize-required-checks branch July 26, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant