-
Notifications
You must be signed in to change notification settings - Fork 142
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
Test results and caching #352
Conversation
…ap-junit that works with it
Is there a way to matrix out node runtimes in a way that isn't so duplicative? Feel like first time I need to change something I'm going to fail to update all 3 runtimes |
@searls Since The main problem we ran into here is the cache key for I realize this is not great, there might be another way to achieve the caching without coding the node version in the key name, but not that I'm currently aware of. At any rate, feel free to ping me however if you run into trouble with your build! |
@searls Just following up on this, because I wasn't able to get a If node 4 wasn't included we could simplify things, here are the steps including test results (w/o caching): steps:
- checkout
- run: npm install tap-junit
- run: npm install
- run: npm run test:ci | ./node_modules/tap-junit/bin/tap-junit --output test_results --name junit
- run: npm run cover:ci
- store_artifacts:
path: test_results
prefix: test_results
- store_test_results:
path: test_results
- store_artifacts:
path: coverage
prefix: coverage |
Node 4 is EOL'd end of next month, so maybe that's the time to revisit this (we'll be dropping official 4.0 support on 4/30/18) |
I dropped Node 4 today, does that mean this can be simplified and merged now? |
@searls w00t! I will update the branch and rebase. 🙇 |
These anchors are referenced in each node job, for steps and environment.
Since we can't share npm cache between node versions
@searls I have no idea what this error means, but can reproduce when I pipe
|
I believe if you want to make a junit report you should only pipe |
.circleci/config.yml
Outdated
@@ -4,7 +4,8 @@ default_steps: &default_steps | |||
- checkout | |||
- run: npm install tap-junit | |||
- run: npm install | |||
- run: npm run test:ci | ./node_modules/tap-junit/bin/tap-junit --output test_results --name junit | |||
- run: npm run test:ci | |||
- run: npm run test | ./node_modules/tap-junit/bin/tap-junit --output test_results --name junit |
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.
👏
I've re-enabled caching and setup test summary support in the build UI.
Some builds for node version 8:
However, note the time is actually unaffected by cache, and each
npm install
step takes about ~9-10 seconds either way. I wonder why?In any case, this is how you'd set up caching so feel free to adjust, or remove it (there's a penalty for uncached builds as you can see 8 seconds added for uploading them in this build.
Also, does the test summary look accurate?
Your build ran 317 tests in unknown with 0 failures
I'm not familiar with your suite so it may be missing some examples. Let me know.
Thanks!