feat: Add testing environment CI/CD workflows#356
Conversation
- Add PR validation workflow for testing branch - Runs linting, type checking, unit tests - Validates Docker builds - Auto-merges on success - Add deployment workflow for testing environment - Builds and pushes images with commit SHA and 'testing' tags - Updates gitops repo with new image tag - Waits for ArgoCD deployment - Runs smoke tests and E2E tests - Sends Slack notifications with results
Will be enabled once SLACK_WEBHOOK_URL secret is configured
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
SLACK_WEBHOOK_URL secret has been configured
There was a problem hiding this comment.
This PR is being reviewed by Cursor Bugbot
Details
Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| } | ||
| env: | ||
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
| SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK |
There was a problem hiding this comment.
Bug: Optional Notification Compromises Workflow Stability
The Slack notification step will fail when SLACK_WEBHOOK_URL secret is not configured, causing the entire workflow to fail even when all tests pass. The notify-slack job runs with if: always() but the notification step lacks a conditional check to skip execution when the webhook secret is missing. This contradicts the PR description stating notifications are "temporarily disabled until SLACK_WEBHOOK_URL secret is added."
|
|
||
| git add helm/echo/values-testing.yaml | ||
| git commit -m "Update testing image tag to ${{ needs.build-and-push.outputs.image-tag }}" | ||
| git push origin main |
There was a problem hiding this comment.
Bug: YAML Formatting Causes Commit Failure
The git commit command will fail if there are no changes to commit, which can occur if the sed command on line 80 doesn't match the expected pattern in values-testing.yaml. The sed pattern assumes imageTag: ".*" format with double quotes, but if the YAML uses a different format (single quotes, no quotes, or different spacing), no changes will be staged and the commit will fail with exit code 1, breaking the workflow.
Summary
Adds GitHub Actions workflows for the testing environment automation pipeline.
What's included
PR Validation Workflow ():
Deployment Workflow ():
Testing
This PR will trigger the PR validation workflow. Once merged to testing branch, it will trigger the deployment workflow for the first time.
Related
Notes
Note
Adds GitHub Actions to validate PRs to
testingand to build, deploy, test, and notify for the testing environment./.github/workflows/deploy-testing.yml:echo/serverandecho/directusto DOCR with short SHA andtestingtags.echo-gitops(helm/echo/values-testing.yaml)imageTagto the new SHA and pushes tomain.https://api.echo-testing.dembrane.com/health./.github/workflows/pr-testing.yml:testing.Written by Cursor Bugbot for commit 2ecd5de. This will update automatically on new commits. Configure here.