-
Notifications
You must be signed in to change notification settings - Fork 300
feat: upgrade lerna and enable local cache #7098
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
Conversation
3f24a23
to
7c42600
Compare
0b95ba2
to
33adf9a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please fix the conflicts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR upgrades Lerna from version 5 to version 8 and enables local caching using Nx integration to improve development and CI performance.
- Upgraded Lerna from v5.5.0 to v8.2.4 to take advantage of newer features and improvements
- Enabled Nx integration in Lerna for task caching and dependency management
- Added comprehensive caching configuration for builds and tests in both local development and CI environments
Reviewed Changes
Copilot reviewed 8 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
package.json | Updated Lerna version and added cache cleanup script |
nx.json | Added complete Nx configuration with caching rules for builds and tests |
lerna.json | Enabled Nx integration and removed deprecated useWorkspaces option |
.github/workflows/ci.yml | Added Nx cache restore steps and environment variables for CI optimization |
CLAUDE.md | Added comprehensive documentation for test caching and CI caching behavior |
.prettierignore | Excluded Nx workspace data from formatting |
modules/express/test/unit/clientRoutes/externalSign.ts | Added test cleanup to remove generated files |
modules/express/encryptedPrivKeys.json | Removed test artifact file |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
da696b4
to
6d28f71
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 10 out of 12 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
2932f13
to
97f57ba
Compare
06e3464
to
bf0f214
Compare
46535b6
to
424589f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 10 out of 12 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
TICKET: WP-6096
TICKET: WP-6096
TICKET: WP-6096
TICKET: WP-6096
ISSUE: - GitHub Actions were failing due to NX cache configuration problems - Copilot feedback identified redundant exclusions in nx.json production named input - GitHub Actions cache keys had problematic negation pattern (!modules/*/package-lock.json) SOLUTION: - Fix NX cache configuration: remove redundant exclusions in nx.json production named input - Fix GitHub Actions cache keys: remove problematic negation pattern from all cache keys - Remove explicit NX dependency (Lerna 8 provides NX integration automatically) TECHNICAL DETAILS: - The production named input had redundant exclusions already covered by default input - GitHub Actions hashFiles() function doesn't handle negation patterns reliably - Lerna 8 includes NX integration, making explicit nx dependency unnecessary VERIFICATION: - NX cache functionality works correctly - GitHub Actions cache keys function properly - Cache restoration steps complete successfully in CI TICKET: WP-6096
…endency conflicts ISSUE: - Babylonlabs package (@bitgo/babylonlabs-io-btc-staking-ts) was failing to build - Root cause: Lerna 8 upgrade introduced newer minimatch versions (9.x-10.x) that conflicted with older @types/glob@7.2.0 interface expectations - Error: Type 'IOptions' is not assignable to type 'IOptions' in dts-bundle-generator SOLUTION: - Add @types/glob@^8.1.0 locally to babylonlabs package (compatible with newer minimatch versions) - Keep dts-bundle-generator at original version ^9.3.1 (no version bump needed) - Use local dependency approach to keep fix targeted to affected package only TECHNICAL DETAILS: - Lerna 8 brings in minimatch@9.x-10.x via NX integration - @types/glob@7.2.0 expected minimatch@7.x-8.x interface - @types/glob@8.1.0 is compatible with minimatch@9.x-10.x - Local dependency prevents affecting other packages in the monorepo VERIFICATION: - Babylonlabs package builds successfully from clean cache - Other packages remain unaffected - dts-bundle-generator works correctly with updated type definitions TICKET: WP-6096
…variable - Add NX_CACHE_FILES environment variable to reduce duplication - Update all three cache key patterns to use env.NX_CACHE_FILES - Improves maintainability and reduces copy-paste errors - Addresses Copilot feedback on cache key pattern duplication TICKET: WP-6096
424589f
to
56ade92
Compare
TICKET: WP-6096