@@ -15,8 +15,6 @@ run hosted checks without copying a PR into the heavyweight CUDA CI:
1515
1616``` sh
1717gh workflow run pre-commit.yml --repo NVIDIA/cuda-python --ref REF
18- gh workflow run pre-commit-autoupdate.yml --repo NVIDIA/cuda-python --ref REF \
19- -f dry-run=true
2018gh workflow run lychee.yml --repo NVIDIA/cuda-python --ref REF \
2119 -f refresh-cache=true
2220gh workflow run lychee.yml --repo NVIDIA/cuda-python --ref REF \
@@ -26,7 +24,8 @@ gh workflow run ci-nightly.yml --repo NVIDIA/cuda-python --ref REF \
2624gh run list --repo NVIDIA/cuda-python --branch REF
2725```
2826
29- The updater dry run shows its diff without opening or updating a PR. Lychee's
27+ Dependabot checks hook revisions monthly and opens update PRs with the ` CI/CD `
28+ and ` dependencies ` labels, without an automatic assignee or milestone. Lychee's
3029refresh mode skips restoration and publishes a new snapshot even when some
3130links fail; only successful checks enter the persisted cache. Its normal mode
3231restores the newest matching snapshot and does not publish one. Branch tests
@@ -50,58 +49,3 @@ PIXI_LOCKED=true pixi run --manifest-path cuda_core/pixi.toml -e docs \
5049The build verifies all three sibling libraries import from the checkout,
5150installs metapackage metadata without dependencies, and assembles all four
5251latest documentation trees under ` artifacts/docs ` .
53-
54- ## Preview the ruleset change
55-
56- Run from the repository root with an authenticated GitHub CLI:
57-
58- ``` sh
59- pixi exec --spec python python ci/tools/migrate_precommit_checks.py \
60- --repo NVIDIA/cuda-python > /tmp/cuda-python-precommit-cutover.json
61- ```
62-
63- The default mode only reads GitHub. It discovers active rules applying to
64- ` main ` , fetches complete repository rulesets, and prints their original
65- configuration and the exact proposed PUT payload. Review that JSON before
66- cutover. The payload changes only ` rules ` : unrelated rules and required checks,
67- strictness, branch conditions, bypass actors, and enforcement remain in place.
68- The tool rejects inherited organization rulesets and unexpected integration IDs;
69- an organization ruleset's owner must handle that migration separately.
70-
71- ## Cut over after merge
72-
73- 1 . Merge ` .github/workflows/pre-commit.yml ` and ` .github/workflows/lychee.yml ` .
74- Check that they exist on the current default ` main ` branch.
75- 2 . Obtain successful, completed runs of all three replacement checks on current
76- ` main ` or a representative open PR targeting ` main ` . Record the full checked
77- commit SHA. This also verifies the PR event path when using a PR; a branch
78- push run alone does not validate PR-specific behavior.
79- 3 . After explicit authorization for the ruleset cutover, run the preview again,
80- then run the same command with ` --apply --verified-sha FULL_COMMIT_SHA ` .
81- Omitting ` --verified-sha ` requires checks on the current ` main ` commit.
82- 4 . Confirm the active rules now require all three replacement contexts from the
83- GitHub Actions App and still contain every unrelated requirement. Verify on
84- a representative PR that an intentional formatting or broken-link failure
85- is reported as a required failing check and blocks merging; repair it and
86- verify the same check passes. Check this independently of the PR's draft
87- status, which also prevents merging.
88- 5 . Only after that verification, remove this repository from the pre-commit.ci
89- GitHub App installation's repository access, or disable its service through
90- the repository/service settings. Preserve access for other repositories
91- using the same installation. The migration script never changes App access.
92-
93- ` --apply ` verifies the workflow files on ` main ` , the selected commit's checks,
94- their App IDs, and their successful owning workflow runs before writing. It
95- re-reads all affected rulesets and refuses changes made since discovery.
96- GitHub does not provide an atomic transaction across ruleset updates: if a
97- write fails partway through, inspect the emitted preview and actual rulesets
98- before retrying. Do not remove the service while any old required check remains.
99-
100- ## Validate the helper
101-
102- ``` sh
103- pixi exec --spec python --spec pytest python -m pytest \
104- --noconftest ci/tools/tests/test_migrate_precommit_checks.py
105- ```
106-
107- The tests mock GitHub; they cannot change repository settings.
0 commit comments