Overview of the automatic CI/CD workflows that are present
- CI Docker Build (
ci-container.yml
):
- Purpose: This workflow is responsible for building a Docker image for the application whenever a pull request is made.
- Documentation: This workflow sets up Docker Buildx and then builds a Docker image for the application on pull requests.
- CI Policies (
ci-policies.yml
):
- Purpose: This workflow checks for certain policies, such as warning on large diffs in pull requests.
- Documentation: On pull requests, this workflow checks for large differences in the codebase and warns accordingly using the
big-diff-warning
action.
- CI Check (
ci-check.yml
):
- Purpose: This workflow performs various checks on the codebase, including linting, formatting, and type-checking.
- Documentation: On every push, this workflow checks out the code, sets up Node, installs dependencies, and then runs linting, prettier, and type-checking.
- CI Build (
ci-build.yml
):
- Purpose: This workflow builds both the frontend and the server parts of the application.
- Documentation: On pull requests, this workflow checks out the code, sets up Node, installs dependencies, and then builds both the frontend and the server.
- CI Test (
ci-backend-test.yml
):
- Purpose: This workflow runs tests for the server part of the application.
- Documentation: On pull requests that modify server files, this workflow sets up the environment, installs server dependencies, and then runs server tests.
- Continuous Deployment to Staging (
cd-workflow.yml
):
- Purpose: This workflow is responsible for deploying the application to a staging environment whenever changes are pushed to the master branch.
- Documentation: On pushes to the master branch, this workflow sets up the deployment context, activates the namespace, triggers the pipeline, and then builds and pushes a Docker image for deployment.
Ensure that all checks are completed to maintain integrity of the application