molecule-core/.github
Hongming Wang 184f8256cd ci(redeploy): fire post-main tenant fleet redeploy via CP admin endpoint
Closes the "main merged but prod tenants still on old image" gap.

## Trigger chain

  main merge
   └─> publish-workspace-server-image (builds + pushes :latest + :<sha>)
        └─> redeploy-tenants-on-main (this workflow)
             └─> POST https://api.moleculesai.app/cp/admin/tenants/redeploy-fleet
                  └─> Canary hongmingwang + 60s soak, then batches of 3
                       with SSM Run Command redeploying each tenant EC2

## Features

- Auto-fires on every successful publish-workspace-server-image run.
- Manual dispatch with optional target_tag (for rollback to an older
  SHA), canary_slug override, batch_size, dry_run.
- 30s delay before calling CP so GHCR edge cache serves the new
  :latest consistently to every tenant's docker pull.
- Skips when publish job failed (workflow_run fires on any completion).
- Job summary renders per-tenant results as a markdown table so ops
  can see which tenant, if any, broke the chain.
- Exits non-zero on HTTP != 200 or ok=false so a broken rollout marks
  the commit status red.

## Secrets + vars required

- secret CP_ADMIN_API_TOKEN  — Railway prod molecule-platform / CP_ADMIN_API_TOKEN
                               Mirrored into this repo's secrets.
- var    CP_URL (optional)   — defaults to https://api.moleculesai.app

## Paired with

- Molecule-AI/molecule-controlplane branch feat/tenant-auto-redeploy
  which adds the /cp/admin/tenants/redeploy-fleet endpoint + the SSM
  orchestration. This workflow is a no-op until that lands on prod CP.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 14:34:28 -07:00
..
workflows ci(redeploy): fire post-main tenant fleet redeploy via CP admin endpoint 2026-04-24 14:34:28 -07:00