Migrate CI from Volta to Corepack#9910
Merged
chrisgervang merged 1 commit intomasterfrom Dec 15, 2025
Merged
Conversation
Replace volta-cli/action with actions/setup-node and Corepack in all GitHub Actions workflows. Add .nvmrc file for Node version consistency across different version managers. Changes: - Add .nvmrc with Node 18.19.0 - Update test.yml, release.yml, and website.yml to use Corepack - Update CONTRIBUTING.md to reflect CI uses Corepack - Volta configuration preserved in package.json for developers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
chrisgervang
commented
Dec 11, 2025
| @@ -0,0 +1 @@ | |||
| 18.19.0 | |||
Collaborator
Author
There was a problem hiding this comment.
I've switched to fnm, which is a drop-in replacement for nvm written in rust. I figure most people are using either of these since they are the "official" solutions on https://nodejs.org/en/download
Collaborator
Author
|
Rerunning the jobs show the cache hit decreased install times from from 1 minute to 30 seconds. |
chrisgervang
commented
Dec 11, 2025
| uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 | ||
| with: | ||
| node-version-file: '.nvmrc' | ||
| cache: 'yarn' |
Collaborator
Author
There was a problem hiding this comment.
Of note, the volta action doesn't actually include a yarn cache so this input never did anything
felixpalmer
approved these changes
Dec 15, 2025
Collaborator
felixpalmer
left a comment
There was a problem hiding this comment.
Happy to see this 👍 , I gave up on Volta on my local machine some time ago (#9577 (comment) & #9523 for context)
felixpalmer
pushed a commit
that referenced
this pull request
Jan 16, 2026
Replace volta-cli/action with actions/setup-node and Corepack in all GitHub Actions workflows. Add .nvmrc file for Node version consistency across different version managers. Changes: - Add .nvmrc with Node 18.19.0 - Update test.yml, release.yml, and website.yml to use Corepack - Update CONTRIBUTING.md to reflect CI uses Corepack - Volta configuration preserved in package.json for developers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
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.
Volta is now unmaintained, so it's in our interest to move away from it to an official solution.
Benchmark: Currently it takes a minute to install yarn packages (example). This change maintains a minutes (see this run), so I feel confident this doesn't have a negative impact on our build times.
Summary
Migrates the project's automated build system from Volta to Corepack for managing Node.js and Yarn versions in GitHub Actions workflows.
This change modernizes the CI infrastructure while maintaining backward compatibility for local development - developers can continue using Volta, or switch to nvm, fnm, or any other Node version manager.
Changes
.nvmrcfile with Node 18.19.0 for compatibility with multiple version managers.github/workflows/test.yml- All 3 jobs now useactions/setup-node+ Corepack.github/workflows/release.yml- Release job now uses Corepack.github/workflows/website.yml- Website deployment now uses Corepack with improved cachingCONTRIBUTING.md- Documentation reflects CI uses Corepack, with local dev flexibilitypackage.jsonfor developers who prefer itTechnical Details
volta-cli/actionwithactions/setup-nodeusingnode-version-file: '.nvmrc'corepack enable yarnstep in all workflowsactions/setup-nodefor faster buildspackageManager: "yarn@1.22.19"field for CorepackTesting
CI will validate this change. The cache behavior will be monitored to ensure proper functionality.
Note
Switches CI from Volta to Corepack via actions/setup-node with .nvmrc and yarn caching; adds .nvmrc and updates contributing docs.
volta-cli/actiontoactions/setup-nodeacrossworkflows/{test,release,website}.ymlusing.nvmrcand yarn cache.corepack enable yarn) in all workflows..nvmrcspecifying Node18.19.0.CONTRIBUTING.mdto note CI uses Corepack and allow local dev with Volta/NVM or other managers.Written by Cursor Bugbot for commit 5c142a9. This will update automatically on new commits. Configure here.