Skip to content

ci: move actions off the deprecated Node 20 runtime - #951

Merged
ralyodio merged 2 commits into
masterfrom
ci/node24-actions
Aug 10, 2026
Merged

ci: move actions off the deprecated Node 20 runtime#951
ralyodio merged 2 commits into
masterfrom
ci/node24-actions

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

The release run flagged this:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, pnpm/action-setup@v4.

Bumps all three to majors that target Node 24 natively — checkout@v5, setup-node@v5, action-setup@v6 — across all five workflows.

One thing that is not a straight version bump: pnpm/action-setup@v6 errors out when a version: input and a packageManager field both name a pnpm version. test.yml and release.yml passed version: 9.12.0 while package.json already pins pnpm@9.12.0, so the redundant inputs are removed and package.json stays the single source of truth. auto-rebase.yml only passes run_install: false and needed no change.

Opened as a PR rather than pushed to master so test validates the runner change before it lands.

checkout, setup-node and pnpm/action-setup all still targeted Node 20, so
every run was being forced onto Node 24 with a deprecation warning.

pnpm/action-setup v6 refuses to start when a `version:` input and a
`packageManager` field both name a pnpm version, so drop the redundant
`version: 9.12.0` from test.yml and release.yml — package.json already
pins pnpm@9.12.0 and stays the single source of truth.
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

ThreatCrush Security Scan

323 finding(s)

HIGH/CRITICAL: 23 | MEDIUM: 64 | LOW: 236

Severity Rule Location
HIGH manifest-typosquat boilerplates/perry-hono-supabase/apps/api/package.json:17
HIGH secret-generic-api-key packages/affiliates/sovrn/src/index.ts:28
HIGH secret-generic-credential packages/ai/amazon-bedrock/src/index.ts:9
HIGH secret-generic-credential packages/ai/amazon-bedrock/src/index.ts:10
HIGH secret-generic-credential packages/ai/amazon-bedrock/src/index.ts:11
HIGH secret-generic-credential packages/bridges/matrix/src/index.ts:58
HIGH secret-generic-credential packages/bridges/matrix/src/index.ts:59
HIGH secret-generic-credential packages/captcha/captchasolver/src/index.ts:34
HIGH secret-generic-credential packages/cli/src/commands/secrets.ts:176
HIGH secret-generic-credential packages/cloud/linode/src/index.ts:15
HIGH secret-generic-credential packages/observability/sentry/src/index.ts:15
HIGH secret-generic-credential packages/outreach/producthunt/src/index.ts:103
HIGH secret-generic-credential packages/promo/posthog/src/index.ts:23
HIGH secret-generic-credential packages/security/snyk/src/index.ts:26
HIGH secret-generic-credential packages/social/hashnode/src/index.ts:4
HIGH secret-generic-credential packages/social/linkedin/src/index.ts:3
HIGH secret-generic-credential packages/social/linkedin/src/index.ts:4
HIGH secret-generic-credential packages/social/medium/src/index.ts:4
HIGH secret-generic-credential packages/social/snapchat/src/index.ts:5
HIGH secret-generic-credential packages/social/tiktok/src/index.ts:5
HIGH secret-generic-credential packages/targets/registry-ans/src/index.ts:49
HIGH secret-generic-credential sites/sh1pt.com/supabase/config.toml:303
HIGH secret-generic-credential sites/sh1pt.com/supabase/config.toml:335
MEDIUM redos-nested-quantifier packages/actions-fleet-core/src/action-pack/schema.ts:3
MEDIUM sql-template-interpolation packages/actions-fleet-core/src/remote/install-pr.ts:155
MEDIUM insecure-temp-file packages/agent-providers/opencode/src/__tests__/opencode.test.ts:19
MEDIUM insecure-temp-file packages/agent-providers/opencode/src/__tests__/opencode.test.ts:42
MEDIUM insecure-temp-file packages/agent-providers/opencode/src/__tests__/opencode.test.ts:45
MEDIUM insecure-temp-file packages/bridges/signal/src/index.test.ts:92
MEDIUM insecure-temp-file packages/bridges/signal/src/index.test.ts:118
MEDIUM sql-template-interpolation packages/cli/src/cloud-vault.ts:178
MEDIUM sql-template-interpolation packages/cli/src/commands/secrets.ts:315
MEDIUM insecure-temp-file packages/cli/src/input.test.ts:84
MEDIUM sql-template-interpolation packages/cloud/firebase/src/index.ts:33
MEDIUM sql-template-interpolation packages/cloud/railway/src/index.ts:121
MEDIUM sql-template-interpolation packages/cloud/supabase/src/index.ts:34
MEDIUM redos-nested-quantifier packages/core/src/setup-helpers.ts:581
MEDIUM insecure-temp-file packages/core/src/testing/harness.ts:15
MEDIUM insecure-temp-file packages/core/src/testing/harness.ts:16
MEDIUM insecure-temp-file packages/core/src/testing/harness.ts:30
MEDIUM insecure-temp-file packages/core/src/testing/harness.ts:42
MEDIUM sql-template-interpolation packages/dns/porkbun/src/index.ts:228
MEDIUM sql-template-interpolation packages/docs/gslides/src/index.ts:210
MEDIUM insecure-temp-file packages/merch/printful/src/index.test.ts:9
MEDIUM insecure-temp-file packages/merch/printify/src/index.test.ts:11
MEDIUM insecure-temp-file packages/policy/src/linter.test.ts:8
MEDIUM redos-nested-quantifier packages/policy/src/rules/bundle-id.ts:3
MEDIUM insecure-temp-file packages/secrets/env-updater/src/index.test.ts:106
MEDIUM insecure-temp-file packages/social/facebook/src/index.test.ts:95
MEDIUM insecure-temp-file packages/social/instagram/src/index.test.ts:177

…and 273 more. Full results in the Security tab.

Snippets are redacted; ThreatCrush never prints matched credential material.

setup-node v5 caches for the package.json `packageManager` by default.
The scan job never installs pnpm, so that default made it fail with
'Unable to locate executable file: pnpm'.
@ralyodio
ralyodio merged commit 5d403fa into master Aug 10, 2026
8 checks passed
@ralyodio
ralyodio deleted the ci/node24-actions branch August 10, 2026 06:21
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