-
Notifications
You must be signed in to change notification settings - Fork 3.2k
fix(ci): docker #1451
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(ci): docker #1451
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Overview
Summary
This PR refactors the CI/CD pipeline and build configuration. The main changes include converting the Docker build workflow to a reusable workflow that can be called by other workflows rather than triggering automatically on pushes, adding concurrency control to prevent overlapping CI runs, and improving the Next.js build configuration.
Key improvements:
- Enhanced CI workflow reliability with concurrency controls
- Better separation of concerns in workflow orchestration
- Fixed regex escaping issues in Next.js configuration
- Added proper PostCSS configuration for Tailwind CSS processing
- Improved webpack configuration to handle optional dependencies
The changes maintain the existing deployment flow while making the CI/CD system more robust and maintainable.
Confidence Score: 4/5
- This PR is safe to merge with minimal risk
- Changes are well-structured infrastructure improvements that enhance CI/CD reliability. The workflow modifications follow best practices, and configuration changes are defensive improvements.
- Pay attention to .github/workflows/build.yml to ensure workflow calls work as expected in the deployment pipeline
Important Files Changed
File Analysis
| Filename | Score | Overview |
|---|---|---|
| .github/workflows/build.yml | 4/5 | Removed automatic push triggers, converted to workflow_call only with manual dispatch option |
| .github/workflows/ci.yml | 5/5 | Added concurrency control to prevent overlapping CI runs |
| apps/sim/next.config.ts | 4/5 | Added webpack config to exclude optional packages and fixed regex escaping issues |
Sequence Diagram
sequenceDiagram
participant Dev as Developer
participant GH as GitHub
participant CI as CI Workflow
participant Build as Build Workflow
participant GHCR as GitHub Container Registry
participant ECR as AWS ECR
participant ECS as AWS ECS
Dev->>GH: Push to main/staging
GH->>CI: Trigger CI workflow
Note over CI: Concurrency control prevents overlapping runs
CI->>CI: Run tests
CI->>CI: Build application
par Build GHCR Images
CI->>Build: Call build.yml (workflow_call)
Build->>Build: Build multi-arch images
Build->>GHCR: Push images to registry
and Build ECR & Deploy
CI->>ECR: Build ECR images
ECR->>ECS: Deploy to ECS
and Deploy Trigger.dev
CI->>CI: Deploy Trigger.dev
end
CI->>CI: Push GHCR images (after ECR success)
CI->>CI: Run database migrations
CI->>CI: Process docs embeddings
5 files reviewed, no comments
f0e6aa3 to
903aa7a
Compare
Summary
Docker ci updates
Type of Change
Testing
Build
Checklist