Skip to content

Continuous Integration and Continuous Deployment (CI CD)

Wei Zhe edited this page Dec 8, 2024 · 2 revisions

Continuous Integration (CI)

As we are using GitHub, we primarily use GitHub Actions to run all our checks whenever we push new code. Using the build-deploy.yml file in our repo, we set up 4 automated tests every time new code is pushed into the repository.

1. Build

  • The build stage tests whether the files can be compiled and bundled and built
  • This simple step helps to ensure that the code is free from any significant errors

2. ESLint Check

  • ESLint is an industry-standard technology and is important to ensure code consistency
  • More details can be found on the ESLint and Prettier Page

3. Prettier Check

  • Prettier is also an industry-standard technology and is important to ensure code formatting
  • More details can be found on the ESLint and Prettier Page

4. Unit Tests

  • Our Jest Unit Tests are run every time code is pushed which is a form of automated regression testing as well to ensure that new code does not break our old helper functions
  • More details can be found on the System Testing Page

5. Component Tests

  • Component tests will also be automatically run
  • More details can be found on the System Testing Page

Continuous Deployment (CD)

  • Currently, we are using Vercel for deployment during development
  • Vercel is able to easily directly link to GitHub to deploy from the repository whenever new code is pushed to a specified branch (staging branch for us)

Clone this wiki locally