Skip to content

ci: disable fail-fast on the windows test matrix#1867

Open
dhensby wants to merge 1 commit into
masterfrom
dhensby/ci-disable-fail-fast
Open

ci: disable fail-fast on the windows test matrix#1867
dhensby wants to merge 1 commit into
masterfrom
dhensby/ci-disable-fail-fast

Conversation

@dhensby
Copy link
Copy Markdown
Collaborator

@dhensby dhensby commented Jun 5, 2026

Problem

The test-windows job in .github/workflows/nodejs.yml did not set fail-fast, so GitHub Actions defaulted to fail-fast: true.

With fail-fast: true, when any single matrix combination fails — frequently due to a transient error during the multi-minute SQL Server setup phase — GitHub Actions cancels every other in-progress and queued job in that matrix. Those cancelled jobs would otherwise have passed, and recovering requires re-running the whole matrix and re-doing the expensive setup for all combinations.

Fix

Add fail-fast: false under the strategy: key of the test-windows job (alongside the existing matrix:). This lets the rest of the windows matrix keep running even when one combination fails, so a single transient failure no longer wipes out otherwise-passing siblings.

The matrix dimensions are unchanged.

     strategy:
+      fail-fast: false
       matrix:
         os: [windows-2022, windows-2025]

Why test-linux keeps fail-fast enabled

test-linux intentionally keeps the default fail-fast: true. Those jobs bootstrap much faster (SQL Server via the services container rather than a full Windows install), and because test-windows has needs: [..., test-linux], a linux failure should stop the run before the slower, more expensive windows matrix starts — rather than wasting time on windows when linux has already shown the change is broken.

Note

Commit history: this branch contains an amend! fixup on top of the original commit; it will collapse into a single clean commit at autosquash time before merge.

@dhensby dhensby changed the title ci: disable fail-fast on test matrices ci: disable fail-fast on the windows test matrix Jun 5, 2026
The test-windows job did not set fail-fast, so GitHub Actions defaulted
to fail-fast: true. A single transient failure — often during the
multi-minute SQL Server setup phase — cancelled every other in-progress
and queued sibling job in the windows matrix. Those cancelled jobs would
otherwise have passed, and re-running forced the entire expensive setup
to be redone for all combinations.

The test-linux matrix intentionally keeps fail-fast enabled: those jobs
bootstrap much faster, and because test-windows needs test-linux, a
linux failure should stop the run before the slower windows matrix
starts rather than wasting time on it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dhensby dhensby force-pushed the dhensby/ci-disable-fail-fast branch from 549836d to 4cb79c9 Compare June 5, 2026 16:48
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.

2 participants