Skip to content

fix(ci): pin actions/checkout and setup-node to v7 (Node 20 deprecation) - #2991

Draft
cabljac wants to merge 1 commit into
kitsfrom
fix/release-kit-action-pins
Draft

fix(ci): pin actions/checkout and setup-node to v7 (Node 20 deprecation)#2991
cabljac wants to merge 1 commit into
kitsfrom
fix/release-kit-action-pins

Conversation

@cabljac

@cabljac cabljac commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Fixes #2977.

  • Node 20 runtime deprecation warnings: the pinned checkout/setup-node v4 SHAs declare a Node 20 runtime. Bumped to checkout v7.0.1 and setup-node v7.0.0 (both node24) in release-kit.yaml and npm_publish_bq_scripts.yml, keeping full SHA pinning.
  • Deviation from the issue: it suggested latest v5; latest is now v7. Both SHAs verified against the actions repos.
  • always-auth removed: setup-node v7 dropped the input; false was the default behaviour anyway.
  • setup-node v7 no longer exports a dummy NODE_AUTH_TOKEN: verified npm 11 tolerates the unset env reference in the generated .npmrc, and npm_publish_bq_scripts.yml publishes via OIDC without relying on it.
  • Hardening: the read-only test job in release-kit.yaml sets persist-credentials: false.

Other workflows (test.yml, validate.yml, release.yml, readmes-updated.yml) pin v3 SHAs and warn too; left out of scope here.

Verified via a green dry-run dispatch of Release Kit with these pins (run 33062266667); v3→v7 has no config-breaking changes for these workflows (package-manager-cache auto-detection is inert: no packageManager fields).

The v4 SHAs pinned in release-kit.yaml and npm_publish_bq_scripts.yml
declare a Node 20 runtime, which GitHub is deprecating. checkout v7.0.1
and setup-node v7.0.0 run on Node 24. setup-node v7 dropped the
always-auth input, so remove it (false was the default behaviour). The
read-only test job no longer persists git credentials.

Fixes #2977
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

cabljac added a commit that referenced this pull request Aug 27, 2026
…s, v7 action pins (#2990)

Fixes #2978.

- **npm version silently skipped git commit/tag** (.git not next to
kit's package.json): bump now uses --no-git-tag-version, with explicit
commit + annotated per-kit tag (`<pkg>@<version>`) from repo root.
Commit fails loudly if nothing staged.
- **Re-runs recomputed the same version from package.json and 403'd**:
next version now derived from the registry (`npm view <pkg> time`,
includes unpublished versions) unioned with package.json.
- **Bump level silently ignored when an rc existed**: level now applied
to the highest stable version; an rc line continues only if the
requested level doesn't open a higher one.
- **npm-shrinkwrap.json bumped but not committed**: now staged in the
release commit.
- **Concurrent runs raced the branch push**: workflow-level concurrency
group; push is atomic and happens only after a successful publish.

Action pin bumps for #2977 split out into #2991; the two merge
independently (non-overlapping hunks).

Verified: dry-run dispatch green, computes 0.0.2-rc.1 for rtdb (the
version #2978 requires); version logic passed 10 synthetic registry
scenarios locally. The non-dry-run commit/tag/push path has not been
exercised live.
cabljac added a commit that referenced this pull request Aug 27, 2026
Syncs release-kit.yaml byte-for-byte with the version that landed on
kits in #2990. This copy never executes (Release Kit is always
dispatched from kits; next has no kits/ directories); it only lists the
workflow in the Actions UI, and it had drifted to show the old broken
versioning logic. No behavior change. Will need re-syncing if #2991
lands on kits.
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.

1 participant