-
Notifications
You must be signed in to change notification settings - Fork 753
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
Integrated tests with Lerna (does not include Block for now) #734
Conversation
Codecov Report
@@ Coverage Diff @@
## master #734 +/- ##
==========================================
- Coverage 91.72% 91.71% -0.01%
==========================================
Files 47 46 -1
Lines 3008 3005 -3
Branches 468 468
==========================================
- Hits 2759 2756 -3
Misses 151 151
Partials 98 98
Continue to review full report at Codecov.
|
This "revert Block code to 2.2.2" thing makes me a bit nervous since it is a pretty heavy and invasive step, is this really necessary to achieve what you want? How will you achieve to get these changes in again with a retained authorship and stuff like that? 🤔 |
9bf040e
to
8f01bb5
Compare
8f01bb5
to
f5120bf
Compare
f5120bf
to
70e2be7
Compare
You were right @holgerd77, and in the end I just wanted to verify that all the production packages worked well in this new scenario, no need for it to reach After a surgical rebase, I removed the These changes guarantees all packages (but Block) work well in conjunction, so we can finally tackle the Block v3 migration with more confidence. |
- checkout | ||
- run: | ||
name: Installing dependencies | ||
command: cd ~/project/packages/${CIRCLE_JOB} && npm install |
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.
For this PR, Block
won't use Lerna for linking packages. So in both CIs, we need to explicitly keep npm install
for Block
package.
"version": "0.0.0", | ||
"command": { | ||
"bootstrap": { | ||
"ignore": "ethereumjs-block" |
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.
This is important: it tells Lerna to ignore ethereumjs-block
from lerna bootstrap
commands. It will still be used on lerna run
and lerna exec
for the time being.
.nyc_output | ||
docs |
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.
Great, would love to add this to our global prettier config in the future 👍
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.
Looks great, thanks for all your hard work on this!
👍 |
Down the road of the monorepo transition, this PR introduces integrated module testing, powered by
Lerna bootstrap
command, with some additional configuration. This enables us to detect possible disruption of downstream libraries before releasing.The monorepo codebase had Block in a non-production state (3.0.0), that wasn't integrated to the other packages at all, making this very transition a bit cumbersome.
Note to reviewers: I advise review looking at one commit at a time. It contains:
lerna
commands in place (75b0479).This commit (75b0479) also disables
node_modules
cache on GitHub Actions test suite. They consider shallow paths (./node_modules
), and generic caching keys, which was 100% correct before the monorepo transition. Related: #730This PR replaces #725 and should be merged to
master
instead.