Before code is integrated to our main line of development, a continuous integration process runs to certify that the changes can be safely integrated.
We use GitHub Actions for our continuous integration service.
Every time code is pushed to the Spartacus repository (regardless of whether a pull requests has been made), a build in our GitHub Actions CI workflow is triggered. For all of our libraries, the build executes the following steps:
- Builds the Spartacus libraries from sources
- Checks for eslint compliance
- Checks for prettier compliance
- Runs all the unit tests
- Runs all Cypress end-to-end tests
- Performs other, additional checks
The configuration for GitHub actions based builds can be found in the
.ci.yml file in the folder
When a build is triggered, GitHub runs it on their virtual machines that run the end-to-end (E2E) tests for our libraries. The E2E test results are reported as pass or fail to the Pull Request checks on GitHub.