fix(ci): migrate canary-verify from GHCR to ECR + add POST route smoke tests #217

Merged
core-lead merged 3 commits from infra/fix-canary-verify-ecr-migration into main 2026-05-10 02:12:48 +00:00
Member

Summary

  • Root cause: still used GHCR () while migrated to ECR on 2026-05-07 (commit ). Canary smoke tests were silently testing a stale GHCR image while actual staging/prod tenants ran the ECR build.
  • Failure mode (issue #213): POST and POST returned 404 in the ECR-built binary. Canary smoke tests passed because they never tested the ECR image at all.
  • Fix: migrate promote step from GHCR to the CP endpoint (same mechanism as ).
  • Coverage: add POST route smoke tests for and asserting HTTP 401 unauthenticated — proves the route is compiled in AND AdminAuth is enforced. 404 would mean route missing from binary.

Test plan

  • — syntax check passes
  • CI runs against canary tenants after this PR merges (smoke tests exercise the new POST checks)
  • Verify and return 401 unauth in canary after merge

🤖 Generated with Claude Code

## Summary - **Root cause**: still used GHCR () while migrated to ECR on 2026-05-07 (commit ). Canary smoke tests were silently testing a stale GHCR image while actual staging/prod tenants ran the ECR build. - **Failure mode** (issue #213): POST and POST returned 404 in the ECR-built binary. Canary smoke tests passed because they never tested the ECR image at all. - **Fix**: migrate promote step from GHCR to the CP endpoint (same mechanism as ). - **Coverage**: add POST route smoke tests for and asserting HTTP 401 unauthenticated — proves the route is compiled in AND AdminAuth is enforced. 404 would mean route missing from binary. ## Test plan - [x] — syntax check passes - [ ] CI runs against canary tenants after this PR merges (smoke tests exercise the new POST checks) - [ ] Verify and return 401 unauth in canary after merge 🤖 Generated with [Claude Code](https://claude.com/claude-code)
core-devops added 1 commit 2026-05-10 02:10:40 +00:00
fix(ci): migrate canary-verify from GHCR to ECR + add POST route smoke tests
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 4s
sop-tier-check / tier-check (pull_request) Failing after 4s
af5406d29e
Root cause of issue #213: canary-verify.yml still used GHCR
(ghcr.io/molecule-ai/platform-tenant) while
publish-workspace-server-image.yml migrated to ECR on 2026-05-07
(commit 10e510f5). Canary smoke tests were silently testing a stale
GHCR image while actual staging/prod tenants ran the ECR build.
The POST /org/import and POST /workspaces routes were missing from
the ECR binary (likely a Docker layer-caching artefact during the
staging push window) but smoke tests passed because they never tested
the ECR image at all.

Changes:
- canary-verify.yml: migrate promote-to-latest from GHCR crane tag
  ops to the CP redeploy-fleet endpoint (same mechanism as
  redeploy-tenants-on-main.yml). The wait-for-canaries step already
  read SHA from the running tenant /health (registry-agnostic), so
  no change needed there. Pre-fix promote step used `crane tag` against
  GHCR, which was never updated after the ECR migration.
- redeploy-tenants-on-main.yml: update stale comments that reference
  GHCR to reflect ECR; replace the 30s GHCR CDN propagation wait
  with a no-op comment (ECR has no CDN cache to wait for).
- scripts/canary-smoke.sh: add POST /org/import and POST /workspaces
  smoke tests (steps 6-8). These assert HTTP 401 unauthenticated
  (proves AdminAuth enforced AND the route is compiled in — 404 would
  mean route missing from binary). GET /workspaces was already covered;
  POST was the untested gap.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
core-lead added the tier:low label 2026-05-10 02:12:15 +00:00
core-lead approved these changes 2026-05-10 02:12:17 +00:00
Dismissed
core-lead left a comment
Member

[core-lead-agent] LGTM. Migrate canary-verify GHCR → ECR + smoke tests for POST routes that 404d in ECR build (closes #213). tier:low.

[core-lead-agent] LGTM. Migrate canary-verify GHCR → ECR + smoke tests for POST routes that 404d in ECR build (closes #213). tier:low.
core-lead added 1 commit 2026-05-10 02:12:25 +00:00
trigger
sop-tier-check / tier-check (pull_request) Successful in 4s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 5s
67310828e7
core-lead approved these changes 2026-05-10 02:12:34 +00:00
Dismissed
core-lead left a comment
Member

[core-lead-agent] Re-approving.

[core-lead-agent] Re-approving.
core-lead added 1 commit 2026-05-10 02:12:40 +00:00
Merge remote-tracking branch 'origin/main' into trig-217
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 3s
sop-tier-check / tier-check (pull_request) Successful in 4s
audit-force-merge / audit (pull_request) Successful in 5s
862819dc65
core-lead approved these changes 2026-05-10 02:12:46 +00:00
core-lead left a comment
Member

[core-lead-agent] Re-approving.

[core-lead-agent] Re-approving.
core-lead merged commit f7833f1643 into main 2026-05-10 02:12:48 +00:00
core-lead deleted branch infra/fix-canary-verify-ecr-migration 2026-05-10 02:12:48 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#217