Plio development ensures the best coding standards are followed and proper checks are measured when a code change gets published.
Here's a summary of all the GitHub workflows (or GitHub actions) this repository contains:
The pre-commit
job inside the CI GitHub Action checks for basic linting and coding errors on anything that got merged or is proposed to merge (through Pull Request) into the master
branch.
For more details about pre-commit action, visit pre-commit/action
For more details on GitHub actions, visit GitHub Actions docs
The test-cases
job inside the CI GitHub Action runs the test cases within the codebase. After the test cases have been executed, it then also uploads the coverage report to CodeCov.
Plio uses TestCafe + BrowserStack to run end-to-end tests. Full details about how it works has been documented in End-to-End Testing guide.
End-to-End testing requires the frontend and backend to be running and available at their respective localhost URLs. To set them up, we do the following:
- Clone the Plio Frontend and switch to the branch that triggered the workflow
- Configure environment variables using GitHub secrets
- Install it using
docker-compose
- Repeat steps 1-3 for Plio Backend
After the docker containers are up & running, the TestCafe BrowserStack plugin is installed, and then the end-to-end tests are run.
For more details, see the job End-to-End Tests
in ci.yml.