ci: disable fail-fast on the windows test matrix#1867
Open
dhensby wants to merge 1 commit into
Open
Conversation
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>
549836d to
4cb79c9
Compare
borakrc
approved these changes
Jun 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
test-windowsjob in.github/workflows/nodejs.ymldid not setfail-fast, so GitHub Actions defaulted tofail-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: falseunder thestrategy:key of thetest-windowsjob (alongside the existingmatrix:). 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-linuxkeeps fail-fast enabledtest-linuxintentionally keeps the defaultfail-fast: true. Those jobs bootstrap much faster (SQL Server via the services container rather than a full Windows install), and becausetest-windowshasneeds: [..., 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