Skip to content

ci(deploy): deploy the US and EU instances in parallel - #1962

Merged
Makisuo merged 1 commit into
mainfrom
ci/deploy-eu-parallel
Oct 30, 2026
Merged

Makisuo merged 1 commit into
mainfrom
ci/deploy-eu-parallel

Conversation

@Makisuo

@Makisuo Makisuo commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • deploy-prd-eu now needs only ingest-binary, so the EU instance deploys alongside US instead of after it.
  • Each instance has its own stage, environment and database, so the two runs do not collide. The ingest binary is still built once and shared.

Trade-off

The sequencing acted as a canary only for deploy-time failures (Alchemy deploy, migrations, the revision check). A broken migration or failed deploy now reaches both instances. Runtime bugs were never caught by it, since EU started as soon as US went green.

Test plan

  • Next push to main: both deploy jobs start after ingest-binary and deployment-gate reports both results.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

The EU deploy waited on the US one, doubling prod deploy time. Each
instance has its own stage, environment and database, so they can run
side by side once the shared ingest binary is built.
@maple-review-bot

maple-review-bot Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Maple review

🟢 Confidence 10/10 · safe to merge
Two-line workflow change; parallel instances share no state — distinct stage, DB and account-wide resources owned by us only. Loss of the US canary is intentional and stated.
no findings · tests not needed · risk medium

deploy-prd-eu now waits only on ingest-binary, so both production instances deploy at the same time. The instances share no mutable resource, so the change is safe to merge; it trades the US-as-canary sequencing for half the deploy time.

  • deploy-prd-eu needs only ingest-binary, dropping its dependency on deploy-prd
What was checked
  • Instances are isolated: MAPLE_STAGE prd/prd-eu (deploy-prd-instance.yml:28) and resolvePlanetscaleDatabase returns maple vs maple-eu (stage.ts:232)
  • No shared deploy resource: profile.deploys.sharedApps is false for prd-eu (profile.test.ts:22), and account-wide Workers Observability destinations are owned only by us (observability.ts:17)
  • deployment-gate still needs both jobs with always() (deploy-prd.yml:53), so a skipped or failed US deploy still fails the run

62392d6 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 27 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1ec4c733-1880-4428-953f-cea2533eb9b6
Commits

Reviewing files that changed from the base of the PR and between 550269b and 62392d6.

Files selected for processing: 1
  • .github/workflows/deploy-prd.yml
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Makisuo
Makisuo merged commit 0827fd4 into main Oct 30, 2026
9 checks passed
@Makisuo
Makisuo deleted the ci/deploy-eu-parallel branch October 30, 2026 00:47
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.

1 participant