Skip to content

ci: add compose volume sync check and final CI gate#48

Merged
EraPartner merged 2 commits intomainfrom
ci/compose-sync-and-final-gate
May 7, 2026
Merged

ci: add compose volume sync check and final CI gate#48
EraPartner merged 2 commits intomainfrom
ci/compose-sync-and-final-gate

Conversation

@EraPartner
Copy link
Copy Markdown
Owner

Summary

  • verify-compose-sync job (ci.yml): Extracts named volumes from docker-compose.yml and packaging/electron/resources/docker-compose.yml, fails if they diverge. Added to quality-gate's needs — catches the v1.0.2 attachment-wipe class of bug at PR time.
  • ci-complete job (ci.yml): Aggregates trivy-scan, docker-verify, test-live-api-contracts. Single required-status-check to set in branch protection settings covering the full Docker-tier pipeline.
  • release.yml verify job: Same compose volume sync step added as the first check, blocking releases if volumes are out of sync.
  • Docs: ADR-051, docs/guides/cicd-pipelines.md, docs/architecture/electron.md, docs/guides/deployment.md updated.

Test plan

  • CI runs verify-compose-sync on this PR and passes (volumes currently in sync)
  • ci-complete appears as a status check on this PR
  • After merge: set CI Complete as the required status check in branch protection (replaces or supplements Quality Gate)
  • Verify: add a named volume to only one compose file → verify-compose-sync should fail

🤖 Generated with Claude Code

- verify-compose-sync job in ci.yml: extracts named volumes from both
  docker-compose.yml and packaging/electron/resources/docker-compose.yml
  and fails if they diverge; included in quality-gate needs list.
  Catches the v1.0.2 class of data-wipe bug at PR time, not release time.

- ci-complete job in ci.yml: aggregates trivy-scan, docker-verify, and
  test-live-api-contracts so branch protection has one required status
  check covering the full Docker-tier pipeline. Set "CI Complete" as the
  required check in branch protection settings.

- release.yml verify job: same compose volume sync check runs as the
  first step before version-tag and audit checks, blocking the release
  if volumes are out of sync.

- ADR-051, docs/guides/cicd-pipelines.md, docs/architecture/electron.md,
  docs/guides/deployment.md updated to document both changes.
@EraPartner EraPartner enabled auto-merge (squash) May 7, 2026 20:13
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 53.73% (🎯 18%) 4741 / 8823
🔵 Statements 51.34% (🎯 17%) 5123 / 9978
🔵 Functions 43.01% (🎯 10%) 1337 / 3108
🔵 Branches 42.62% (🎯 11%) 3457 / 8110
File CoverageNo changed files found.
Generated in workflow #119 for commit a220370 by the Vitest Coverage Report Action

Branch protection requires Trivy code scanning results. The trivy-scan
job only output table format — never uploaded SARIF, so the gate was
perpetually blocked.

Run Trivy twice: once as table (exit-code 1, fails pipeline on
HIGH/CRITICAL) and once as SARIF (exit-code 0, always runs so results
upload even when the table scan finds issues). Upload SARIF via
codeql-action/upload-sarif to satisfy the code scanning requirement.
@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@EraPartner EraPartner merged commit 1c4b250 into main May 7, 2026
19 checks passed
@EraPartner EraPartner deleted the ci/compose-sync-and-final-gate branch May 7, 2026 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants