Skip to content

ci: improve CI/CD workflows and infrastructure - #922

Merged
ogazboiz merged 1 commit into
LabsCrypt:mainfrom
designsage8:ci/ci-cd-improvements
Jun 29, 2026
Merged

ci: improve CI/CD workflows and infrastructure#922
ogazboiz merged 1 commit into
LabsCrypt:mainfrom
designsage8:ci/ci-cd-improvements

Conversation

@designsage8

Copy link
Copy Markdown
Contributor

Description

This PR resolves four CI/CD and infrastructure issues:

  1. Issue [CI] Frontend tests run without coverage and are never uploaded to Codecov #897 [CI] Frontend tests run without coverage and are never uploaded to Codecov: Added frontend test coverage to CI workflow and configured Codecov to track frontend coverage.
  2. Issue [Infra] No .dockerignore for the backend build context (ships node_modules/.env/dist into the build) #894 [Infra] No .dockerignore for the backend build context: Created .dockerignore for backend to exclude unnecessary files from Docker build context.
  3. Issue [CI] Workflows have no concurrency control, so superseded pushes keep running and waste minutes #892 [CI] Workflows have no concurrency control: Added concurrency control to ci.yml and security.yml workflows to cancel superseded runs.
  4. Issue [CI] pr-test-gate.yml fully duplicates ci.yml's backend and contracts jobs on every PR to main #891 [CI] pr-test-gate.yml fully duplicates ci.yml's backend and contracts jobs: Removed pr-test-gate.yml as it duplicates tests already covered by ci.yml.

Type of Change

  • 🔧 Infrastructure/CI improvements
  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • ⚡ Performance improvement
  • 🧪 Test addition or update

Related Issues

Closes #897
Closes #894
Closes #892
Closes #891

Changes Made

Testing

Test Coverage

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed

Test Steps

  1. Verify frontend tests run with coverage in CI by checking workflow logs
  2. Verify frontend coverage appears in Codecov dashboard
  3. Verify Docker build context size is reduced by checking build logs
  4. Verify concurrent workflow runs cancel previous runs by pushing multiple commits to same branch
  5. Verify PRs to main no longer launch duplicate Postgres services

Breaking Changes

None. Branch protection rules should be updated to point to ci.yml jobs instead of pr-test-gate.yml if they were previously configured.

Screenshots/Demo

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have checked for breaking changes and documented them if applicable

Additional Notes

  • Branch protection rules may need to be updated to reference ci.yml jobs instead of the removed pr-test-gate.yml workflow
  • Frontend coverage threshold is set to auto in Codecov to allow establishing a baseline before setting specific targets

- Add frontend test coverage to CI and Codecov (LabsCrypt#897)
- Add .dockerignore for backend to reduce build context (LabsCrypt#894)
- Add concurrency control to CI workflows (LabsCrypt#892)
- Remove duplicate pr-test-gate.yml workflow (LabsCrypt#891)
@ogazboiz
ogazboiz merged commit 016f23b into LabsCrypt:main Jun 29, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment