Skip to content

Update pnpm/action-setup and upload-artifact to their Node 24 releases - #6916

Merged
tim-smart merged 3 commits into
Effect-TS:mainfrom
spencerbeggs:ci/node24-action-versions
Aug 3, 2026
Merged

Update pnpm/action-setup and upload-artifact to their Node 24 releases#6916
tim-smart merged 3 commits into
Effect-TS:mainfrom
spencerbeggs:ci/node24-action-versions

Conversation

@spencerbeggs

Copy link
Copy Markdown
Contributor

Closes #6915.

Every workflow run currently carries Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4, pnpm/action-setup@v4.

The annotation keys off the runs.using value each action declares in its own action.yml, not off the Node version the runner ends up using — the runner log alongside it already says "This workflow is running with Node 24 by default". So FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true does not help; that variable was the opt-in from before the runner default flipped. Bumping the two actions is what clears it.

  • pnpm/action-setup@v4 -> v6. v5.0.0 moved it to node24 and v6.0.0 added pnpm v11 support; neither changed the input surface. It is invoked here with no inputs and resolves the version from packageManager in the root package.json.
  • actions/upload-artifact@v4 -> v6. v6.0.0 is the first node24 release — v5 is still node20, so a bump to v5 would not have cleared the warning. The name, path and if-no-files-found inputs used here are unchanged. v6 requires Actions Runner >= 2.327.1; the deprecation notice cites hosted runners at v2.328.0 and every job here is runs-on: ubuntu-latest. The actions/download-artifact@v8 consumer in bundle-comment.yml is unaffected.

Every other action in .github/ already declares node24: actions/checkout@v6, actions/setup-node@v6, actions/download-artifact@v8, changesets/action@v1, denoland/setup-deno@v2, oven-sh/setup-bun@v2, the three peter-evans/* actions, and pullfrog/pullfrog@v0.

No changeset: this touches CI configuration only, with no runtime or exported API change.

The verification for this is CI itself — the annotation should be absent from this PR's run. I could not check the upload-artifact path locally, and it only executes on pull_request events, so this PR's Bundle job is the first real exercise of it.

Signed-off-by: C. Spencer Beggs spencer@beggs.codes

Both actions still declared runs.using node20, so every workflow run carried the Node 20 deprecation annotation even though the runner already forces them onto Node 24. The warning keys off the declared runtime, so only a version bump clears it: pnpm/action-setup gained node24 in v5.0.0 and upload-artifact in v6.0.0, with v5 of the latter still on node20.

Closes Effect-TS#6915
Signed-off-by: C. Spencer Beggs <spencer@beggs.codes>
@changeset-bot

changeset-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: d323087

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@effect-slopcop effect-slopcop Bot added the bug Something isn't working label Aug 3, 2026

@pullfrog pullfrog Bot 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.

✅ No new issues found.

Reviewed changes — version bumps for two GitHub Actions to their Node 24 releases to silence the Node.js 20 is deprecated annotations.

  • pnpm/action-setup@v4@v6 in .github/actions/setup/action.yaml: v6 adds pnpm v11 support on top of the node24 runtime from v5; the action is invoked with no inputs and resolves the version from packageManager, so the input surface delta is irrelevant.
  • actions/upload-artifact@v4@v6 in .github/workflows/check.yml: v6 is the first node24 release (v5 remained node20). Runner compatibility is satisfied (ubuntu-latest ≥ 2.327.1), and the name, path, if-no-files-found inputs are unchanged. The download-artifact@v8 consumer is already node24.

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) (Kimi K2 not used — the program covers this model; add its provider key to run your pick) | 𝕏

@spencerbeggs

spencerbeggs commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Note on the one red check, so it does not cost a reviewer time.

Test (2/2, Node) fails in this job on @effect/sql-mysql2 test/Persistence.integration.test.ts > PersistedQueue (sql-mysql2) with Hook timed out in 30000ms — a MySQL testcontainer that did not come up inside the hook window. 180 test files passed, that one failed.

This PR changes two uses: version strings in YAML and no TypeScript at all, so it has no path to a MySQL container.

The thing this PR is actually meant to do did verify, on a run that completed rather than being superseded:

  • No job in the run emitted Node.js 20 is deprecated.
  • The Bundle job — the only consumer of upload-artifact, and pull_request-only, so this was its first real exercise — succeeded:
Download action repository 'actions/upload-artifact@v6' (SHA:b7c566a7…)
Artifact bundle-stats has been successfully uploaded! Final size is 657 bytes.

The same base commit (8f9499f56) went fully green on #6917, and recent runs on other branches have failed on a different unrelated test most times — DenoFileSystem, HashRing, NumberBindingRepro, ClusterWorkflowEngine.

I can push an empty commit to re-roll it if that is useful.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Analysis

Generated from PR build output; treat the content below as untrusted.

File Name Current Size Previous Size Difference
basic.ts 7.06 KB 7.06 KB 0.00 KB (0.00%)
batching.ts 9.86 KB 9.86 KB 0.00 KB (0.00%)
brand.ts 6.34 KB 6.34 KB 0.00 KB (0.00%)
cache.ts 10.62 KB 10.62 KB 0.00 KB (0.00%)
config.ts 20.60 KB 20.60 KB 0.00 KB (0.00%)
differ.ts 20.20 KB 20.20 KB 0.00 KB (0.00%)
http-client.ts 21.49 KB 21.49 KB 0.00 KB (0.00%)
logger.ts 10.76 KB 10.76 KB 0.00 KB (0.00%)
metric.ts 8.99 KB 8.99 KB 0.00 KB (0.00%)
optic.ts 7.18 KB 7.18 KB 0.00 KB (0.00%)
pubsub.ts 14.90 KB 14.90 KB 0.00 KB (0.00%)
queue.ts 11.58 KB 11.58 KB 0.00 KB (0.00%)
schedule.ts 10.74 KB 10.74 KB 0.00 KB (0.00%)
schema-class.ts 19.14 KB 19.14 KB 0.00 KB (0.00%)
schema-fromJsonSchemaDocument.ts 28.96 KB 28.96 KB 0.00 KB (0.00%)
schema-representation-roundtrip.ts 25.29 KB 25.29 KB 0.00 KB (0.00%)
schema-string-transformation.ts 13.30 KB 13.30 KB 0.00 KB (0.00%)
schema-string.ts 10.94 KB 10.94 KB 0.00 KB (0.00%)
schema-template-literal.ts 15.17 KB 15.17 KB 0.00 KB (0.00%)
schema-toArbitraryLazy.ts 21.94 KB 21.94 KB 0.00 KB (0.00%)
schema-toCodeDocument.ts 24.34 KB 24.34 KB 0.00 KB (0.00%)
schema-toCodecJson.ts 19.18 KB 19.18 KB 0.00 KB (0.00%)
schema-toEquivalence.ts 19.01 KB 19.01 KB 0.00 KB (0.00%)
schema-toFormatter.ts 18.87 KB 18.87 KB 0.00 KB (0.00%)
schema-toJsonSchemaDocument.ts 22.60 KB 22.60 KB 0.00 KB (0.00%)
schema-toRepresentation.ts 19.52 KB 19.52 KB 0.00 KB (0.00%)
schema.ts 18.41 KB 18.41 KB 0.00 KB (0.00%)
stm.ts 12.54 KB 12.54 KB 0.00 KB (0.00%)
stream.ts 9.79 KB 9.79 KB 0.00 KB (0.00%)

@tim-smart
tim-smart merged commit 2bfa4bf into Effect-TS:main Aug 3, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.0 bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: pnpm/action-setup@v4 and actions/upload-artifact@v4 still target Node.js 20

3 participants