Skip to content

ci(nightly): set fail-fast: false on the build matrix - #1186

Merged
rapids-bot[bot] merged 1 commit into
NVIDIA:mainfrom
ramakrishnap-nv:nightly-fail-fast
May 7, 2026
Merged

ci(nightly): set fail-fast: false on the build matrix#1186
rapids-bot[bot] merged 1 commit into
NVIDIA:mainfrom
ramakrishnap-nv:nightly-fail-fast

Conversation

@ramakrishnap-nv

Copy link
Copy Markdown
Collaborator

Summary

Make the two matrix entries in .github/workflows/nightly.yaml independent so a missing release-branch ref no longer cancels the working main-branch nightly.

Why this matters now: the matrix bumped to release/26.06 in #1091 on 2026-04-14, but release/26.06 has not been cut from main yet. Every nightly since has failed — the release entry 404s at the gh api .../branches/release/26.06 lookup, the matrix's default fail-fast: true cancels the sibling main entry, and the wrapper job reports failure even though the main dispatch would have succeeded on its own.

Fix: add fail-fast: false so each cuopt_branch dispatch runs independently.

strategy:
  fail-fast: false       # ← added
  matrix:
    cuopt_branch:
      - "main"
      - "release/26.06"

The release entry will still go red until release/26.06 is actually cut (or the line is reverted to a release branch that exists), but it no longer drags main with it.

Test plan

  • Watch the next scheduled nightly — main matrix entry should dispatch and complete independent of the release/26.06 entry's outcome.
  • Manual dispatch via Run workflow from Actions UI to verify both entries run to completion (or independent failure) before waiting for the cron.

🤖 Generated with Claude Code

Without fail-fast: false, a single failing matrix entry cancels every
sibling. Today the release/26.06 entry 404s at the gh api branch
lookup (the branch was bumped in NVIDIA#1091 on 2026-04-14 but the actual
release/26.06 branch has not been cut from main yet), which cancels
the otherwise-healthy main-branch dispatch and reports the whole
nightly as failed.

Setting fail-fast: false makes the two matrix entries independent:
main keeps dispatching its nightly even when the release entry errors.
The release entry will continue to fail until release/26.06 is cut
(or the branch ref is reverted), but it no longer drags main down
with it.

Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@ramakrishnap-nv
ramakrishnap-nv requested a review from a team as a code owner May 7, 2026 15:16
@ramakrishnap-nv
ramakrishnap-nv requested a review from jameslamb May 7, 2026 15:16
@coderabbitai

coderabbitai Bot commented May 7, 2026

Copy link
Copy Markdown

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 10edff65-12e2-453c-b0ee-0adc1445c6ea

📥 Commits

Reviewing files that changed from the base of the PR and between 9fd1763 and 073531e.

📒 Files selected for processing (1)
  • .github/workflows/nightly.yaml

📝 Walkthrough

Walkthrough

The nightly GitHub Actions workflow is updated to add fail-fast: false to the job strategy matrix, ensuring that when one cuopt_branch variant fails, the remaining matrix entries continue executing instead of being cancelled immediately.

Changes

Nightly Workflow Matrix Strategy

Layer / File(s) Summary
Matrix Strategy Configuration
.github/workflows/nightly.yaml
Job strategy block adds fail-fast: false to the trigger-nightly-builds-and-tests matrix, ensuring all cuopt_branch variants run to completion regardless of individual failures.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding fail-fast: false to the build matrix in the nightly CI workflow.
Description check ✅ Passed The description is detailed and directly related to the changeset, explaining the problem with the matrix failure cascading and how the fix resolves it.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@ramakrishnap-nv ramakrishnap-nv self-assigned this May 7, 2026
@ramakrishnap-nv ramakrishnap-nv added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels May 7, 2026
@ramakrishnap-nv

Copy link
Copy Markdown
Collaborator Author

/merge

@rapids-bot
rapids-bot Bot merged commit fbd1a00 into NVIDIA:main May 7, 2026
25 checks passed
chris-maes pushed a commit to chris-maes/cuopt that referenced this pull request May 18, 2026
## Summary

Make the two matrix entries in `.github/workflows/nightly.yaml` independent so a missing release-branch ref no longer cancels the working `main`-branch nightly.

**Why this matters now:** the matrix bumped to `release/26.06` in NVIDIA#1091 on 2026-04-14, but `release/26.06` has not been cut from `main` yet. Every nightly since has failed — the release entry 404s at the `gh api .../branches/release/26.06` lookup, the matrix's default `fail-fast: true` cancels the sibling `main` entry, and the wrapper job reports `failure` even though the `main` dispatch would have succeeded on its own.

**Fix:** add `fail-fast: false` so each cuopt_branch dispatch runs independently.

```yaml
strategy:
  fail-fast: false       # ← added
  matrix:
    cuopt_branch:
      - "main"
      - "release/26.06"
```

The release entry will still go red until `release/26.06` is actually cut (or the line is reverted to a release branch that exists), but it no longer drags `main` with it.

## Test plan
- [ ] Watch the next scheduled nightly — `main` matrix entry should dispatch and complete independent of the `release/26.06` entry's outcome.
- [ ] Manual dispatch via `Run workflow` from Actions UI to verify both entries run to completion (or independent failure) before waiting for the cron.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Authors:
  - Ramakrishnap (https://github.com/rgsl888prabhu)

Approvers:
  - James Lamb (https://github.com/jameslamb)

URL: NVIDIA#1186
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants