chore(ci): bump checkout v7, setup-node v7, setup-python v7; normalize maturin-action pin (PF-040) - #365
Merged
Merged
Conversation
…e maturin-action pin (PF-040)
This was referenced Sep 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One hand-authored branch instead of four Dependabot PRs. Dependabot's diffs were cut against older bases and would leave call sites behind: #111 (checkout) touches 13 of the 16 current
actions/checkout@v6sites, #189 (setup-node) 5 of 6. All 27 first-party action sites are bumped here, plus the maturin-action pin normalization from #356. Tag pins (@v7) are kept for first-partyactions/*per repo convention; resolved SHAs are recorded below.Bumps
3d3c42e5aac5ba805825da76410c181273ba90b1, v7.0.1)pull_request_target/workflow_run(v7.0.1 relaxes it for the default input) → no such trigger in.github/— the only hit,release.yml:132, is a--jq '.workflow_runs'API filter. CI ispull_request; release ispush: tags+workflow_dispatch.820762786026740c76f36085b0efc47a31fe5020, v7.0.0)NODE_AUTH_TOKENexport removed → bothregistry-urlsites already bind the token explicitly (see below).5fda3b95a4ea91299a34e894583c3862153e4b97, v7.0.0)pip-installinput removed → the repo passes onlypython-version. Removes setup-python from the per-run "Node.js 20 is deprecated" annotation.3e2bdf6ba6453a61e649744019b8a2d906c7eb38→e83996d129638aa358a18fbd1dfb82f0b0fb5d3bCall sites: checkout 16 (ci.yml 9, release.yml 7); setup-node 6 (ci.yml 2, release.yml 4); setup-python 5 (ci.yml only); maturin-action 2 (release.yml wheel + sdist legs). No job is renamed, so the 15 required branch-protection contexts are unchanged.
setup-node v7 —
NODE_AUTH_TOKENsetup-node v7 no longer exports a dummy
NODE_AUTH_TOKENwhenregistry-urlis set. The tworegistry-urlsites inrelease.yml:release.yml:43(version-gate) — thenpm whoamicredential probe bindsNODE_AUTH_TOKENat step level (:46) and guards it non-empty (:52).release.yml:765(publish-npm) —NODE_AUTH_TOKENis job-level env (:756), covering every npm command in the job.The one npm invocation after a
registry-urlsetup-node without the token in scope isnpm run test:gatesinversion-gate. npm's.npmrcenv-replacement leaves an undefined${NODE_AUTH_TOKEN}as a literal rather than throwing, and the command never contacts the registry, so it is inert. The branch dry-run exercisesversion-gateend to end;publish-npmis tag-guarded and not rehearsable, so its job-level env is the static proof.maturin-action — PF-040
3e2bdf6…was the annotated tag object for v1.51.0, not a commit. It worked because maturin-action is a JS action (runs.using: node24), but the commit SHA is the canonical pin form. Live dereference:The
# v1.51.0trailing comments are kept.RELEASING.mdcitesPyO3/maturin-action@v1.51.0in version form and stays accurate.TypeScript 7 disposition
Dependabot #169 (typescript 6.0.3 → 7.0.2) fails structurally: the three CJS tsconfigs (
packages/{bundler-utils,webpack-loader,rspack-loader}/tsconfig.cjs.json) usemoduleResolution=node10, which TS 7 removed (TS5108). A rebase cannot fix it. #169 is closed; the migration is tracked in #364 (milestone v0.5.0)..github/dependabot.ymlnowignores typescriptversion-update:semver-major— this filters version updates only; security updates still arrive. The entry is removed when #364 lands.Verification
dependabot.ymlparse (js-yaml);node scripts/verify-no-control-bytes.mjsclean (552 files scanned);npm run test:gates155/155 pass, 0 fail (42 suites).a0f7707: 34047423520 — success. All 22 checks completed+success: the 15 required contexts, theCodeQLumbrella (success, notneutralthis time), fourAnalyze (…),Watch startup race (probe),security/snyk. No cancelled runs (PF-017).release.yml(workflow_dispatch, publishes nothing): 34047806587 — success, dispatched only after CI had completed (PF-039).version-gateunderactions/checkout@v7+actions/setup-node@v7withregistry-url: "Verify publish credentials" →npm credentials verified: token resolves to npm user 'dean0x'; PyPI OIDC probe →PyPI trusted publisher OK;test:gates155/155; CI-history gate →16 job(s), all completed+success (floor: 15).build-napi7/7 success.stage-and-verify-napi:Stage per-platform packagessuccess,A3 — name <-> loader verification gatesuccess.build-python8/8 success onPyO3/maturin-action@e83996d1; the readelf gate on the x86_64 musl leg showsNEEDED libc.so(musl) and nolibc.so.6.publish-crates,publish-npm,publish-python,github-release: skipped (tag-guarded).a0f7707(CI + dry-run check-runs, read via the check-runs annotations API):actions/setup-pythonno longer appears. Remaining:jetli/wasm-pack-action@0d096b0…(4 check-runs;.github/actions/setup-wasm/action.yml:9,using: node16) and — newly surfaced,release.yml-only —mlugg/setup-zig@v2(2 check-runs, the two muslbuild-napilegs). Both pre-existing; B-phase follow-up, not this PR.security/snyk (dean0x): success — "No manifest changes detected in 5 projects" (advisory; no first-party code or dependency changes here; the Snyk MCP is still ENOENT locally — reinstall before C1).Supersedes
Supersedes Dependabot #111, #189, #241, #356. Replaces #169 (→ #364). Tracking: #69 (v0.4.3 action plan, step A3).