rinha2-back-end-go

CI/CD Pipeline

Workflows

The repository uses GitHub Actions for pull-request checks, main-branch releases, security scanning, and GitHub Pages documentation deployment.

WorkflowTriggerPurpose
build-check.ymlPull requests to main, manual dispatchFilters runtime-relevant changes, builds the Go application, starts the root Docker Compose stack for /healthz, and fails on an unhealthy response.
main-release.ymlPush to main, manual dispatchBuilds amd64 and arm64 GHCR images, merges a multi-arch latest manifest, runs the prod compose health check, and runs k6 with report artifact upload.
codeql.ymlPush to main, pull requests to main, weekly scheduleRuns Go CodeQL with manual build mode when source/workflow paths are relevant.
deploy.ymlPush to main, manual dispatchUses the shared Pages docs workflow with Bun to build docs/ and deploy GitHub Pages.

Release path

pull request
  ├─ build-check.yml      -> Go build + root compose /healthz when runtime paths changed
  └─ codeql.yml           -> Go security analysis when source paths changed
       └─ rebase merge to main
            ├─ main-release.yml  -> GHCR latest/latest-arm64 + k6 artifact
            ├─ codeql.yml        -> security analysis
            └─ deploy.yml        -> Astro docs to GitHub Pages

Published artifacts

Operator notes

  • PR checks are path-filtered: docs-only changes may not run runtime Docker checks, but Pages still builds on main after merge.
  • Main-branch workflows are the deployment path; the live docs update after deploy.yml finishes.
  • Stress-test reports should be treated as run-specific evidence, not timeless proof of a single absolute ranking.
  • The production compose file reads SQL/NGINX config from prod/conf/; the development compose file reads from the repository root.