-
Notifications
You must be signed in to change notification settings - Fork 830
monorepo: migrate to pnpm #4139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
gabrocheleau
wants to merge
61
commits into
master
Choose a base branch
from
feat/migrate-to-pnpm
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
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
…ethereumjs-monorepo into feat/migrate-to-pnpm
- Add submodule checkout and caching to build.yml, ci.yml, and docker-image.yml - Fix Docker workflow pnpm setup order - Remove test step from build jobs to prevent dependent job failures - Ensure ethereum-tests submodule is available for tx package tests
- Fix spellcheck.yml, lint.yml, noCompile.yml, and typecheck.yml - Move pnpm/action-setup before actions/setup-node to fix 'Unable to locate executable file: pnpm' error - Ensures pnpm is available when Node.js setup tries to use it for caching
…flows - Add package.json, pnpm-lock.yaml, and pnpm-workspace.yaml to Dockerfile - Fix pnpm setup order in lockfile.yml and spellcheck.yml workflows - Add dependency installation to spellcheck workflow
…properly - Add pnpm installation to Dockerfile - Run pnpm install to properly set up workspace dependencies - This ensures workspace packages are correctly linked in the container
- Fix pnpm/action-setup@v4 to run before actions/setup-node@v5 in all workflows - This ensures pnpm is available when Node.js setup tries to use it for caching - Fixes 'Unable to locate executable file: pnpm' errors in CI - Also convert remaining npm usage to pnpm in vm-pr.yml
c33e498
to
ddf2506
Compare
- Remove cache: 'pnpm' from Node.js setup steps in blockchain-build.yml and client-build.yml - This should fix 'Dependencies lock file is not found' error - Workflows already have manual cache restore/install steps
- Remove cache: 'pnpm' from all Node.js setup steps across all workflow files - This fixes the 'Dependencies lock file is not found' error - Workflows already have manual cache restore/install steps for dependency management - This approach avoids conflicts with defaults.run.working-directory settings
…flows - Add working-directory: ${{ github.workspace }} to pnpm install commands in: - build.yml - node-versions.yml - spellcheck.yml - This ensures pnpm install runs from the repository root where pnpm-lock.yaml is located - Fixes 'No package.json found' error in CI workflows
- Install pnpm before setup-node (so cache: 'pnpm' works) - Add sanity check to verify package.json exists at root - Install dependencies from workspace root with --prefer-offline - Use pnpm --filter to target specific packages - Remove defaults.run.working-directory (run everything from root) - This follows the correct pnpm workspace pattern
- Restore pnpm caching (now that pnpm is installed first) - Add sanity check to verify package.json exists at root - Use pnpm --filter to target blockchain package - Remove defaults.run.working-directory - Install dependencies from workspace root with --prefer-offline
29b624a
to
1a7faf3
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
This PR migrates npm to pnpm, notably to address issues where npm packagel-lock is generate to be environment specific (e.g. Linux or Mac). Pnpm allows cross-platform lockfiles.