Skip to content

ci: validate stack bumps nightly instead of on every PR raise - #345

Open
amd-vivekag wants to merge 1 commit into
mainfrom
ci/bump-validate-nightly
Open

ci: validate stack bumps nightly instead of on every PR raise#345
amd-vivekag wants to merge 1 commit into
mainfrom
ci/bump-validate-nightly

Conversation

@amd-vivekag

Copy link
Copy Markdown
Collaborator

Summary

Moves Phase-4 bump validation (from #303) to the nightly run instead of running the full GPU evaluation matrix on every PR raise.

bump-validate.yml triggered eval-reusable.yml (timeout-minutes: 150) on the single self-hosted MI350 runner for every PR touching docker/**, requirements*.txt, or config/ci/ci-constraints.txt. Dependabot (.github/dependabot.yml) opens weekly pip / docker (ROCm digest) / github-actions bump PRs that hit exactly those paths, so every automated bump kicked off a heavy per-PR GPU run and serialized the shared runner behind bump/CI PRs.

nightly-eval.yml already installs the wheel, builds the pinned ROCm container from the repo, and runs the identical matrix + baseline comparison against main — so a merged stack bump is exercised by the very next nightly. This PR retires the per-PR trigger and relies on the nightly run, keeping workflow_dispatch for on-demand confirmation of a specific bump.

Changes

  • Delete .github/workflows/bump-validate.yml (the per-PR GPU eval trigger).
  • Update eval-reusable.yml / nightly-eval.yml comments to reflect that the reusable eval is nightly + on-demand dispatch, not per-PR.
  • Document in docs/ci-nightly-eval.md (and the nightly_eval_matrix.yaml comment) that bumps are validated nightly rather than on each PR raise.

Why this is safe

  • Fail-closed regression coverage for bumps is preserved — it just runs post-merge in the nightly rather than pre-merge per PR.
  • The single self-hosted GPU runner is no longer tied up by a full matrix run on every bump/stack PR.
  • Maintainers can still validate a specific bump pre-merge via Actions → Nightly Evaluation → Run workflow.

Test plan

  • Confirm a PR touching docker/** / requirements*.txt / config/ci/ci-constraints.txt no longer triggers a GPU eval on raise.
  • Confirm the nightly Nightly Evaluation still runs the matrix + baseline comparison and files/closes the nightly-regression issue.
  • Confirm workflow_dispatch on Nightly Evaluation still works for on-demand bump validation.

Closes #344. Refs #303.

Copilot AI balanced review requested due to automatic review settings August 7, 2026 11:28

Copilot AI 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.

Pull request overview

Moves stack-bump GPU validation from per-PR execution to nightly and on-demand evaluation, reducing contention on the shared MI350 runner.

Changes:

  • Removes the per-PR bump validation workflow.
  • Updates workflow comments to describe nightly/on-demand validation.
  • Documents the revised bump-validation process.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/workflows/bump-validate.yml Removes per-PR GPU validation.
.github/workflows/eval-reusable.yml Updates reusable workflow documentation.
.github/workflows/nightly-eval.yml Documents nightly and dispatched validation.
config/ci/nightly_eval_matrix.yaml Clarifies an excluded workload’s nightly impact.
docs/ci-nightly-eval.md Documents nightly and on-demand bump validation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Phase 4 of #303 wired bump-validate.yml, which ran the full GPU
evaluation matrix on the single self-hosted MI350 runner for every PR
touching the stack-defining files (docker/**, requirements*.txt,
config/ci/ci-constraints.txt). Dependabot opens weekly pip/docker/actions
bump PRs that hit exactly those paths, so every automated bump kicked off
a heavy per-PR GPU run and serialized the shared runner.

nightly-eval.yml already installs the wheel, builds the pinned ROCm
container from the repo, and runs the identical matrix + baseline
comparison against main -- so a merged stack bump is exercised by the
very next nightly. Retire the per-PR trigger and rely on the nightly run
(plus workflow_dispatch for on-demand confirmation of a specific bump).

- Delete .github/workflows/bump-validate.yml.
- Update the eval-reusable.yml / nightly-eval.yml comments to reflect that
  the reusable eval is nightly + on-demand, not per-PR.
- Update docs/ci-nightly-eval.md and the matrix comment to document that
  bumps are validated nightly rather than per-PR raise.

Closes #344. Refs #303.

Co-authored-by: Cursor <cursoragent@cursor.com>
@amd-vivekag
amd-vivekag force-pushed the ci/bump-validate-nightly branch from 5cb3767 to 764e4a7 Compare August 7, 2026 12:58
Copilot AI review requested due to automatic review settings August 7, 2026 12:58

Copilot AI 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.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/ci-nightly-eval.md:143

  • This dispatch path is not isolated bump validation. nightly-eval.yml always calls the reusable workflow with do_alert: true, and its publish job runs for every non-skipped dispatch. Running a PR branch can therefore file or close the canonical nightly-regression issue and overwrite ci-results/results/<today>.json with unmerged results. Please gate alerting/publishing to canonical nightly runs (or add a non-publishing bump-validation mode) before recommending this path; the instructions should also say to select the bump branch.
  matrix + baselines; use **Actions -> Nightly Evaluation -> Run workflow**
  (`workflow_dispatch`) if you want to confirm a specific bump on demand.

amd-vivekag added a commit that referenced this pull request Aug 10, 2026
Copilot review on PR #348:
- Add a validate-requirements matrix job (py3.10-3.12) that installs
  requirements.txt + requirements-dev.txt and gate auto-merge on it, since no
  other required check exercises those files (an incompatible pin could
  otherwise merge green).
- That check surfaced real breakage: matplotlib==3.11.1 / numpy==2.5.1 /
  pandas==3.0.5 require Python >=3.11, so they cannot install on 3.10 (a
  supported version). Re-pin to the latest 3.10-compatible releases
  (matplotlib==3.10.9, numpy==2.2.6, pandas==2.3.3).
- Pin dependabot/fetch-metadata to a commit SHA (mutable v2 tag on a
  merge-capable, write-permission workflow).
- Make the pip group explicit (applies-to: version-updates) and document the
  security-update exception to the one-PR/grouped contract.
- Update docker/Dockerfile.ci-gpu comment: base image is bumped manually, not
  tracked by Dependabot.
- docs: correct the required-check names (aggregate `CPU tests` + `pre-commit`,
  not per-version pytest legs) and the GPU/bump-validate relationship (this
  relies on #345 removing bump-validate.yml).

Refs #303. Closes #346.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

ci: move Phase-4 bump validation to nightly instead of running on every PR raise

2 participants