This directory contains all the CI/CD workflows for the project, organized by environment and workflow type.
Workflows are divided into four main categories, each serving specific purposes and triggered on different branches or events:
Workflow Type | Branches / Events | Purpose |
---|---|---|
dev | Push to development branch |
Build and test in the development environment |
feat | Push or PR to feature branches (excluding main, development, release) | Build, test, and lint feature branches; triggered on push and PR affecting specific components |
rel | Push to release-*.*.* branches |
Release-specific workflows for building and pushing release Docker images |
prod | Push to main branch |
Build, push production Docker images, and deploy to production |
dev_*.yml
)Triggered on pushes to the development
branch, limited to component-specific changes:
File | Purpose |
---|---|
dev_docker_backend.yml |
Build and push the development Docker image for the backend |
dev_docker_frontend.yml |
Build and push the development Docker image for the frontend |
dev_docker_grpc.yml |
Build and push the development Docker image for the gRPC |
feat_*.yml
)Triggered on push or pull requests from feature branches to development branch:
File | Purpose |
---|---|
feat_ci_frontend_push.yml |
Lint, format check, build, and unit tests frontend on push |
feat_ci_backend_push.yml |
Lint, format check, build, and unit tests backend on push |
feat_ci_grpc_push.yml |
Lint, format check, build, and unit tests gRPC on push |
feat_docker_frontend.yml |
Build frontend Docker image on push (no push) |
feat_docker_backend.yml |
Build backend Docker image on push (no push) |
feat_docker_grpc.yml |
Build gRPC Docker image on push (no push) |
feat_ci_frontend_pr.yml |
Frontend integration tests on PR |
feat_ci_backend_pr.yml |
Backend integration tests on PR |
feat_ci_grpc_pr.yml |
gRPC integration tests on PR |
Triggered on pull requests from feature branches, on push to main, release, or development branches, and scheduled for main branch.
File | Purpose |
---|---|
sast_frontend.yml |
Static Application Security Testing (SAST) with CodeQL, Trivy, and yarn Audit for frontend |
sast_backend.yml |
Static Application Security Testing (SAST) with CodeQL, Trivy, and OWASP Dependency-Check for backend |
sast_grpc.yml |
Static Application Security Testing (SAST) with CodeQL, Trivy, and govulncheck Dependency-Check for gRPC |
dast_frontend.yml |
Dynamic Application Security Testing (DAST) for frontend using OWASP ZAP |
dast_backend.yml |
Dynamic Application Security Testing (DAST) for backend using OWASP ZAP |
dast_grpc.yml |
Dynamic Application Security Testing (DAST) for gRPC using OWASP ZAP |
rel_e2e_tests_pr.yml |
End-to-end tests on PRs for main branch |