This PR provides a number of enhancements to the CI/CD pipeline in the repo.
Implement Yarn dependency caching.
Currently, each Yarn install step seems to take roughly 35 seconds.
By caching the dependencies into CircleCI, and restoring them, the restore + install collecitvely seems to take on average 21 seconds.
This is unscientifically a 40% reduction in that step. 😉
Practically, it just shaves a little over 10 seconds of a job which takes ~10 minutes.
Use CircleCI Test features.
The Cypress reporter for JUnit was added, as well as the pipeline collecting those values.
CircleCI will now be able to calculate test metrics, and more easily raise their values/results into the UI.
Overtime, this'll allow the project to make use of features like automated flaky test detection, trends, etc.
Right now, Cypress only runs two tests, technically, so this might be a direction to start to enhance that or break out individual steps of one test into multiple tests for test clarity.
Reduce Netlify resource class size.
This job seems to have a bit more room than it needs, so downgraded it from an XLarge to a Large.
Fixed Artifactory reference in yarn.lock.
I believe I noticed some delays in downloads, and if I ran a yarn install locally, the lock file for this updated.
Believe this should be correct, as external CCI open source cloud runners would not have access to that Artifactory, so it probably adds delay we don't need or warnings, and would mean potential issues for open source contributors installing the dependencies on their local. Correct me if I'm missing an aspect here!
Description:
This PR provides a number of enhancements to the CI/CD pipeline in the repo.
yarn.lock
.yarn install
locally, the lock file for this updated.package.json
.Resolves: