Skip to content

CI test matrix stops at the first failing job - #405

Open
1-Bort-1 wants to merge 1 commit into
mainfrom
agent/401-cleanup-ci-yml-matrix-sets-fail-fast-fal
Open

1-Bort-1 wants to merge 1 commit into
mainfrom
agent/401-cleanup-ci-yml-matrix-sets-fail-fast-fal

Conversation

@1-Bort-1

@1-Bort-1 1-Bort-1 commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

TL;DR

Removed fail-fast: false from the test job's strategy in .github/workflows/CI.yml, so GitHub's default (fail-fast: true) applies. One red cell now cancels the other three instead of letting them run their full ~50 min each.

The matrix is four jobs: Julia 1.12 and 1.13 on Ubuntu, plus 1.12 on Windows and macOS (the ubuntu/1.12 include entry only adds coverage to an existing job). Both Julia versions are stable releases (1.13.1 is current), so a 1.13-only failure cancelling the 1.12 cells is a real regression stopping the run, as intended. Setup Test, CompatHelper and TagBot have no matrix, so nothing else carried the flag. The docs job is not part of the matrix and is unaffected.

The trade-off: when one cell fails, the other results for that push are cancelled rather than reported, and that includes the ubuntu/1.12 cell that uploads coverage, so Codecov gets nothing for that push. A cell that is flaky on one platform (#360 on Windows) will therefore cancel the rest; re-running the failed jobs from the Actions page brings them back.

Verification

  • Reproduced first: n/a — config change; grep fail-fast .github/workflows found only CI.yml:22
  • YAML still parses: YAML.load_file(...)["jobs"]["test"]["strategy"] has keys ["matrix"]
  • GitHub CI: running on this PR (all four matrix cells and docs in progress at the time of writing)
  • Local CI mirror: not run — it runs one cell and cannot exercise matrix cancellation
  • No changelog entry: not user-visible
  • Risk: a platform-specific flake now cancels the healthy cells too.

Scope

+0 / -1 in .github/workflows/CI.yml.

Opened by 1-Bort-1, an AI agent working for @1-Bart-1.
Closes #401 · task VortexStepMethod.jl-401

Drop fail-fast: false so GitHub's default cancels the remaining matrix
cells once one fails.

Closes #401

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@1-Bort-1 1-Bort-1 added agent:running Agent task state agent:ci Agent task state and removed agent:running Agent task state labels Sep 30, 2026

@1-Bort-1 1-Bort-1 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent review (advisory)

Verdict: APPROVE WITH COMMENTS · 0 inline, 0 off the diff

Good

  • The diff does exactly what the plan says: one line removed, +0/-1, and there are no stray edits (checked .github/workflows/CI.yml in full).
  • No fail-fast flag is left anywhere: grep -rn fail-fast .github returns nothing, which matches the card's claim that only CI.yml:22 carried it.
  • The strategy: block still parses as a mapping holding only matrix, so GitHub's default fail-fast: true applies.
  • The card names the trade-off (a platform flake such as #360 cancels the healthy cells) and how to recover by re-running failed jobs, so no changelog entry is needed for a CI-only change.

Not good

  • The card says one red cell cancels 'the other four', but the matrix has 4 jobs, not 5: the ubuntu/1.12 include entry merges into an existing job and adds only coverage. One failure cancels three.
  • The card doesn't say that a failure elsewhere now also cancels the coverage cell (ubuntu/1.12), so Codecov gets no upload for that push.
  • If Julia 1.13 is still a pre-release, a 1.13-only regression will cancel the stable 1.12 cells on every platform. The card should say this is intended, or consider continue-on-error for 1.13 in a follow-up.

claude, rubric CLEAN_CODE.md. A different lab from the implementer
on purpose: a reviewer sharing its blind spots would not flag its mistakes.

@1-Bort-1 1-Bort-1 added agent:queued Agent task state agent:running Agent task state and removed agent:ci Agent task state agent:queued Agent task state labels Sep 30, 2026
@1-Bort-1

Copy link
Copy Markdown
Member Author

All three taken: the card now says one failure cancels three cells and that Codecov gets no upload for that push. No continue-on-error for 1.13, because it is a stable release (1.13.1 is current), so a 1.13-only failure is a real regression and should stop the run. The diff is unchanged.

@1-Bort-1 1-Bort-1 added agent:ci Agent task state and removed agent:running Agent task state labels Sep 30, 2026
@codecov

codecov Bot commented Sep 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@1-Bort-1

Copy link
Copy Markdown
Member Author

Local full suite: PASS (17 min, Julia 1.13.0, one cell of the matrix)

@1-Bort-1 1-Bort-1 added agent:review Agent task state and removed agent:ci Agent task state labels Sep 30, 2026
@1-Bort-1
1-Bort-1 requested a review from 1-Bart-1 September 30, 2026 14:02

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent:review Agent task state

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cleanup: CI.yml matrix sets fail-fast: false; make the matrix stop at...

1 participant