Skip to content

feat(ci): promote Trigger.dev tasks in lockstep with the ECS traffic cutover - #5725

Merged
TheodoreSpeaks merged 211 commits into
stagingfrom
trigger-deploy
Sep 16, 2026
Merged

TheodoreSpeaks merged 211 commits into
stagingfrom
trigger-deploy

Conversation

@TheodoreSpeaks

@TheodoreSpeaks TheodoreSpeaks commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Deploy Trigger.dev tasks without promotion in development, staging, and production, then promote after the matching ECS traffic cutover is observed on every target.
  • Build the app under a commit tag, capture the timestamp immediately before moving its deploy tag, and correlate each environment with the final ECR tag digest, including retags that produce an image index. Development carries the same metadata through an artifact.
  • Verify the latest deployment even when the app tag is unchanged, and recheck its identity after cutover. Superseding executions, failed deployments, missing metadata, invalid responses, and AWS access errors stop promotion immediately.
  • Use the Trigger CLI's native deployment-version output, align CLI and Bun versions with the current base, and preserve provider selection and explicit dependency-success gates.
  • Task uploads and app deployments remain independent; promotion requires both to succeed. A failed task upload leaves the previous task version active.

Rollout prerequisites

  • Grant the app deployment roles read access for codepipeline:ListPipelineExecutions, codepipeline:GetPipelineExecution, codepipeline:ListActionExecutions, codedeploy:GetDeployment, codedeploy:ListDeploymentTargets, and codedeploy:GetDeploymentTarget. ECR image reads are also required.
  • Permit sessions of at least 5,400 seconds for staging/production and 2,400 seconds for development.
  • Make a shared Trigger personal access token and the project reference available to the workflow, and coordinate disabling Trigger's Git auto-deploy integration for these environments.
  • Validate a controlled staging run and the promotion/rollback procedure before production rollout. Promotion follows observed traffic cutover; post-cutover rollback requires coordinating the app and task versions.

Type of Change

  • New feature (CI/CD)

Testing

  • 24 isolated deployment-gate regression tests, wired into CI: push-boundary metadata, stale/superseding execution rejection, all-target cutover, failed/queued deployments, unchanged-image checks, invalid metadata, AWS access failures, and ECR lookup errors.
  • Actionlint, YAML parsing, and Bash syntax checks passed.
  • Repository lint, all 46 audits (including strict API validation), block-registry validation, and generated-document checks passed.
  • Read-only integration checks verified AWS deployment response shapes and ECR digest lookup. No deployment or IAM/secret mutation was performed.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing locally
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

waleedlatif1 and others added 30 commits April 3, 2026 23:30
…ership workflow edits via sockets, ui improvements
…ration, signup method feature flags, SSO improvements
* feat(posthog): Add tracking on mothership abort (#4023)

Co-authored-by: Theodore Li <theo@sim.ai>

* fix(login): fix captcha headers for manual login  (#4025)

* fix(signup): fix turnstile key loading

* fix(login): fix captcha header passing

* Catch user already exists, remove login form captcha
…nts, secrets performance, polling refactors, drag resources in mothership
…endar triggers, docs updates, integrations/models pages improvements
…mat, logs performance improvements

fix(csp): add missing analytics domains, remove unsafe-eval, fix workspace CSP gap (#4179)
fix(landing): return 404 for invalid dynamic route slugs (#4182)
improvement(seo): optimize sitemaps, robots.txt, and core web vitals across sim and docs (#4170)
fix(gemini): support structured output with tools on Gemini 3 models (#4184)
feat(brightdata): add Bright Data integration with 8 tools (#4183)
fix(mothership): fix superagent credentials (#4185)
fix(logs): close sidebar when selected log disappears from filtered list; cleanup (#4186)
v0.6.46: mothership streaming fixes, brightdata integration
@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@greptile

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete.

Comment thread .github/workflows/ci.yml Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread .github/scripts/wait-for-ecs-cutover.sh Outdated
Comment thread .github/workflows/ci.yml Outdated
@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@greptile

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread .github/scripts/test-trigger-deploy.py Outdated
@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@greptile

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread .github/scripts/test-trigger-deploy.py Outdated
@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@greptile

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 6 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@TheodoreSpeaks
TheodoreSpeaks changed the base branch from main to staging September 16, 2026 22:43
@TheodoreSpeaks
TheodoreSpeaks merged commit 90a05d9 into staging Sep 16, 2026
40 checks passed
@TheodoreSpeaks
TheodoreSpeaks deleted the trigger-deploy branch September 16, 2026 22:50
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.

4 participants