Skip to content

ci: temporarily pause Pixi lockfile maintenance - #3065

Merged
rwgk merged 2 commits into
NVIDIA:mainfrom
jpascucci-nv:not-detecting-pixi-toml-change
Oct 9, 2026
Merged

rwgk merged 2 commits into
NVIDIA:mainfrom
jpascucci-nv:not-detecting-pixi-toml-change

Conversation

@jpascucci-nv

@jpascucci-nv jpascucci-nv commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

[no-ci]

Description

Temporarily suspend Pixi lockfile freshness enforcement and automated refreshes until a released Pixi fix is verified against #7215, #7000, and repeated byte-stable update/lock/check cycles across all six workspaces.

Preserve the existing freshness workflow and check names, run on every PR without path filters, and succeed with a warning and summary explicitly reporting the suspension. Remove the refresh schedule; manual dispatch emits the same notice without installing Pixi, solving, modifying lockfiles, pushing, or creating PRs.

Remove the temporary source-pruning detector and its tests, and drop this PR's manifest-change attribution. Preserve the original classifier tooling, actual build/test jobs, PIXI_FROZEN=true, the pinned Pixi version, and committed lockfiles. Declare pyyaml==6.0.3 for CI-tool workflow tests. Document the manual review and validation required for dependency changes during the pause, and the criteria for restoring strict checks, scheduled refreshes, and PIXI_LOCKED=true.

Validation

  • Complete CI-tool suite: 105 tests and 36 subtests passed in the locked Pixi environment.
  • Pre-commit passed on all changed files, including secret scanning and Actions linting; used the CI skips for Lychee and the local hook-install reminder.
  • Replacement tests cover exact check names, unfiltered PR triggering, manual-only refresh dispatch, both suspension notices, absence of external tool/repository write paths, declared dependencies, and frozen source-build preservation.
  • Verified the Pixi version pin and all six lockfiles are unchanged.

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Pixi freshness check was giving the wrong error when the .toml file was changed but the .lock file wasn't checked in.
@jpascucci-nv
jpascucci-nv requested a review from rwgk October 9, 2026 17:18
@jpascucci-nv jpascucci-nv self-assigned this Oct 9, 2026
@jpascucci-nv jpascucci-nv added the CI/CD CI/CD infrastructure label Oct 9, 2026
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: NVIDIA/cuda-python/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 3a661591-b0e4-4173-bc01-431ee26cd81d

📥 Commits

Reviewing files that changed from the base of the PR and between 0ba120d and 286dc85.


📒 Files selected for processing (8)
  • .github/workflows/ci-nightly.yml
  • .github/workflows/ci-pixi-lockfile-freshness-check.yml
  • .github/workflows/ci-pixi-lockfile-refresh.yml
  • .github/workflows/ci-pixi-source-test.yml
  • ci/README.md
  • ci/tools/check_pixi_samples_source_pruning.py
  • ci/tools/tests/test_check_pixi_samples_source_pruning.py
  • ci/tools/tests/test_pixi_lockfile_freshness_workflow.py

💤 Files with no reviewable changes (2)
  • ci/tools/tests/test_check_pixi_samples_source_pruning.py
  • ci/tools/check_pixi_samples_source_pruning.py

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.



📝 Summary

Summary by CodeRabbit

  • CI Changes
    • Pixi lockfile freshness checks now report a warning and succeed without verifying manifest and lockfile consistency. Automated lockfile refreshes are paused; the refresh workflow can still be run manually to report the suspension.
    • Source builds and tests continue using committed lockfiles in frozen mode. Dependency changes require manual manifest and lockfile validation.
    • Nightly CI now installs an additional tool for its checks.

Walkthrough

The Pixi lockfile freshness and refresh workflows no longer check or update lockfiles. They report that these actions are suspended. CI documentation and tests describe and verify the paused behavior.

Changes

Pixi Lockfile Maintenance Pause

Layer / File(s) Summary
Suspend freshness and refresh workflows
.github/workflows/ci-pixi-lockfile-freshness-check.yml, .github/workflows/ci-pixi-lockfile-refresh.yml, .github/workflows/ci-pixi-source-test.yml, ci/tools/tests/test_pixi_lockfile_freshness_workflow.py, .github/workflows/ci-nightly.yml
The freshness workflow now reports that lockfile freshness was not checked. The refresh workflow is manual-only and reports that refreshes are suspended. Source tests retain PIXI_FROZEN=true. Tests verify the workflow triggers, notices, and frozen-mode settings. Nightly CI installs the PyYAML version required by the tests.
Update pause guidance and remove the samples exception
ci/tools/check_pixi_samples_source_pruning.py, ci/tools/tests/test_check_pixi_samples_source_pruning.py, ci/README.md
The CI documentation describes the repository-wide pause and the conditions for restoring strict checks and scheduled refreshes. The samples-specific lockfile detector and its tests are removed.

Priority: ⬇️ Low

Change: Other

Merge Risk: ⚪ Minimal · up to 286dc

Pixi lockfile freshness enforcement and automated refreshes are paused on purpose. The pause is documented, and source builds and tests still use the committed lockfiles in frozen mode. No concrete defect remains, so this is ready to merge.

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor
Doc Preview CI
Preview removed because the pull request was closed or merged.

@rwgk

rwgk commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Two findings, reviewed at 0ba120d:

BUT

Could you please expand this PR into a deliberate temporary pause? Keep real source builds/tests running, but pause freshness enforcement and automated refreshes until a released fix is verified.

Agent-facing instructions generated by my agent, based on my preference to deliberately pause freshness enforcement

  • Make the pause and cleanup together in ci: temporarily pause Pixi lockfile maintenance #3065. Do not fully revert ci: work around Pixi samples-source lockfile oscillation #3059 or merge separate revert PRs.
  • Freshness: preserve workflow name CI: pixi lockfile freshness check and job name pixi lock --check (all workspaces). Replace active steps with a successful notice: warning annotation plus job summary explicitly saying enforcement is temporarily suspended, not that freshness passed. Ensure every PR emits the existing check context; remove PR path filters while paused. Do not install/run Pixi, classify staleness, or look up refresh PRs. No branch-protection changes.
  • Refresh: remove the schedule. Retain the workflow and manual dispatch, but make dispatch emit the same suspension notice and perform no refresh, push, or PR creation.
  • Cleanup: remove the #7215 detector, its tests, and its special-case handling from both workflows. Drop ci: temporarily pause Pixi lockfile maintenance #3065's new manifest-change attribution and corresponding tests; do not add another exception, label, or mode switch. Preserve unrelated tooling/tests.
  • Preserve PIXI_FROZEN=true in source-build CI and all actual build/test jobs. Keep the pinned Pixi version and committed lockfiles unchanged. Update comments that still claim freshness is enforced.
  • Document the pause and tradeoff in ci/README.md: manifest/lock consistency is not automatically enforced; necessary dependency changes require manual review and validation. Link Pixi #7215 and #7000. Re-enable only after a released Pixi passes both reproducers and repeated byte-stable update/lock/check cycles across all six workspaces. Then restore strict checks and PIXI_LOCKED=true.
  • Validate exact check names, PR triggering, both suspension notices, absence of solver/write paths, and preservation of frozen source builds. Run CI-tool tests and pre-commit; explicitly declare any dependencies introduced by replacement tests.

@rwgk
rwgk marked this pull request as draft October 9, 2026 17:45
@copy-pr-bot

copy-pr-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@rwgk

rwgk commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Before undrafting, I’d add [no-ci] to the PR description, provided package code, manifests, lockfiles, and build behavior remain unchanged. I see little value in running the full CUDA/GPU matrix for that scope.

We should still require:

  • Pre-commit/workflow lint and CI-tool tests.
  • An actual successful run of the freshness suspension job.
  • Validation that refresh dispatch is visibly paused and cannot write anything.
  • CPU source-build smoke if its workflow is touched.

@copy-pr-bot

copy-pr-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@jpascucci-nv jpascucci-nv changed the title Identify when pixi toml file has updated relative to lock file ci: temporarily pause Pixi lockfile maintenance Oct 9, 2026
@jpascucci-nv

Copy link
Copy Markdown
Contributor Author

/ok to test 286dc85

@jpascucci-nv

Copy link
Copy Markdown
Contributor Author

pixi lockfile refresh suspended - https://github.com/NVIDIA/cuda-python/actions/runs/37970968020/job/113957173228?pr=3065
The [no-ci] got knocked off of the pr description.

@jpascucci-nv

Copy link
Copy Markdown
Contributor Author

Lockfile refresh schedule removed.

@jpascucci-nv
jpascucci-nv marked this pull request as ready for review October 9, 2026 22:02

@rwgk rwgk 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.

Thanks @jpascucci-nv!


codex GPT-6.1-Sol ultra

No critical findings—I’d approve #3065 at 286dc85. Both earlier findings are addressed.

  • Freshness preserves the existing check name and explicitly reports suspension; its actual CI run passed.
  • Refresh scheduling is removed; manual dispatch cannot solve, change lockfiles, push, or create PRs.
  • PIXI_FROZEN=true and actual build/test behavior remain unchanged.
  • The Pixi pin and all six lockfiles are untouched; re-enablement criteria are documented.

@rwgk
rwgk merged commit c7e6f09 into NVIDIA:main Oct 9, 2026
232 of 234 checks passed
github-actions Bot pushed a commit that referenced this pull request Oct 10, 2026
Removed preview folders for the following PRs:
- PR #3024
- PR #3059
- PR #3062
- PR #3063
- PR #3065
- PR #3066
- PR #3067
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants