Skip to content

ci: bound package portability runs - #674

Merged
ayushag-nv merged 1 commit into
NVIDIA-NeMo:mainfrom
afourniernv:afournier/ci-package-portability-run-control
Sep 11, 2026
Merged

ci: bound package portability runs#674
ayushag-nv merged 1 commit into
NVIDIA-NeMo:mainfrom
afourniernv:afournier/ci-package-portability-run-control

Conversation

@afourniernv

@afourniernv afourniernv commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

What

  • Cancel superseded package-portability runs when a pull request is updated.
  • Keep main pushes and manual runs independent.
  • Stop the wheel job if it runs longer than 30 minutes.

Why

The portability job currently keeps running after a pull request receives a newer commit. Those outdated wheel builds overlap with the current run and use the same CI capacity.

The concurrency key is shared only by runs for the same pull request. Push and manual runs use their unique run ID, so they are not serialized or dropped.

Recent successful wheel jobs take about four minutes, with a maximum of roughly four minutes and 20 seconds across the latest 100 runs. Thirty minutes leaves substantial headroom while avoiding GitHub's six-hour default if the build hangs.

How tested

  • actionlint .github/workflows/package-portability.yml
  • YAML parse
  • git diff --check
  • Live GitHub check: the superseded run was canceled and its replacement passed in 4m 2s
  • GitHub CI passed
  • Commit carries the required DCO sign-off

Notes for reviewers

This changes only workflow run control. The package matrix, build commands, release workflow, artifacts, and publishing behavior are unchanged.

The timeout applies after a runner starts the job. It does not affect time spent waiting for a runner or approval.

@afourniernv
afourniernv requested a review from a team as a code owner September 10, 2026 20:34
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview 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: 7bcd15b4-fd56-4758-b48c-40c9b745ccbd

📥 Commits

Reviewing files that changed from the base of the PR and between cb98af0 and 37bb6a2.

📒 Files selected for processing (1)
  • .github/workflows/package-portability.yml

Included review availability: Your plan provides up to 12 included reviews per hour; 9 remain after this review.


Walkthrough

The package portability workflow now cancels superseded pull-request runs. Push and manual runs remain independent. The wheel job has a 30-minute timeout.

Changes

Package portability workflow

Layer / File(s) Summary
Workflow concurrency and timeout
.github/workflows/package-portability.yml
Pull-request runs use workflow and branch/ref concurrency groups with cancellation. The wheel job has a 30-minute timeout.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 37bb6

The workflow now cancels superseded pull-request runs, keeps push and manual runs independent, and caps wheel jobs at 30 minutes. No actionable merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the CI change that bounds package portability runs. It is concise and related to the primary changes in concurrency control and job timeout.

A rabbit watches wheels roll bright
Old runs hop away from sight
New checks bound through the queue
Thirty minutes keeps time true
Pushes and manuals run free
The workflow nibbles efficiency []

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

Signed-off-by: Alex Fournier <afournier@nvidia.com>
@afourniernv
afourniernv force-pushed the afournier/ci-package-portability-run-control branch from 37bb6a2 to 15b0d89 Compare September 10, 2026 20:36
@afourniernv

Copy link
Copy Markdown
Contributor Author

Relay has precedent for both pieces:

This PR keeps the policy narrower for Switchyard: only superseded PR runs are canceled, main and manual runs get unique groups, and the timeout applies only to the existing x86_64 wheel job.

@ayushag-nv ayushag-nv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

looks good. Nice addition

@ayushag-nv
ayushag-nv merged commit 0ea589f into NVIDIA-NeMo:main Sep 11, 2026
18 checks passed
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