Skip to content

ci: consolidate into unified CI/CD pipeline workflow with parallel quality checks and gated deployment - #75

Open
google-labs-jules[bot] wants to merge 1 commit into
mainfrom
jules/feature/unified-cicd-pipeline-e8779fb1-3c7c-47f4-b1c9-74c39e7d93d3
Open

ci: consolidate into unified CI/CD pipeline workflow with parallel quality checks and gated deployment#75
google-labs-jules[bot] wants to merge 1 commit into
mainfrom
jules/feature/unified-cicd-pipeline-e8779fb1-3c7c-47f4-b1c9-74c39e7d93d3

Conversation

@google-labs-jules

Copy link
Copy Markdown
Contributor

Summary

This PR consolidates continuous integration and continuous deployment into a single, unified pipeline workflow defined in .github/workflows/deploy.yml and removes the redundant .github/workflows/ci.yml.

Changes Made

  • Parallel Quality Verification Jobs: Split CI checks into three concurrent jobs (type-check, lint, and test) running static type-checking (bun run check), linting (bun run lint), and unit tests (bun run test).
  • Gated Production Deployment: Configured the downstream deploy job with needs: [type-check, lint, test] to ensure production artifact compilation and GitHub Pages publishing only run after all upstream verification jobs succeed.
  • Main Branch Restriction & PR Dry Runs: Added if: github.ref == 'refs/heads/main' to the deploy job to prevent pull requests from triggering deployment steps while ensuring quality checks run on both PRs and main branch pushes.
  • Scoped Permissions: Restricted workflow permissions at the root to contents: read and attached deployment permissions (pages: write, id-token: write) exclusively to the downstream release job.

Acceptance Criteria Verified

  • Pull requests run parallel type-checking, linting, and unit testing without triggering site deployment.
  • Main branch updates halt deployment automatically if any validation check fails.
  • Main branch updates automatically proceed to artifact compilation and site deployment when all checks pass.
  • All verification and deployment operations are defined in a single consolidated pipeline file.

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.

0 participants