Continuous Integration

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 ./github/workflows.

End-to-End Tests

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.

We use Cypress as our E2E test framework. E2E test results are reported to the Cypress Dashboard.