chore(workflows): drop staging-branch triggers (Phase 3b of internal#81) #109

Merged
claude-ceo-assistant merged 1 commits from chore/trunk-based-drop-staging-from-workflow-triggers into main 2026-05-08 13:30:25 +00:00

Phase 3b of internal#81. Lands after PR #108 (Phase 3a — promote staging-only commits to main).

Diff

4 workflow files. Each just drops staging from a triggers list:

File Change
e2e-staging-canvas.yml branches: [main, staging][main] (push + PR)
e2e-staging-external.yml branches: [staging, main][main] (push + PR)
e2e-staging-saas.yml same; plus update the header comment that referenced the now-obsolete staging→main auto-promote flow
redeploy-tenants-on-staging.yml workflow_run.branches: [staging][main] (tenant redeploy fires when publish-workspace-server-image runs on main, not on staging)

Net diff: 11 insertions, 12 deletions across 4 YAML files. All four still validate as YAML (verified locally).

Why these 4 only

Other staging-named workflows are NOT touched because their staging references are environmental, not branch-related:

  • canary-staging.yml (cron): runs against staging-api.moleculesai.app tenant fleet; cron has no branch ref
  • e2e-staging-sanity.yml (cron): same

Workflows that ARE pure-promote/sync machinery (auto-promote-staging, auto-promote-on-e2e, auto-sync-main-to-staging, retarget-main-to-staging, …) are deleted in Phase 3c, after we no-op-verify Phases 3a and 3b green.

Phase 3 sequence

  • 3a: PR #108 — promote staging-only commits to main
  • 🟡 3b: this PR — workflow trigger updates
  • 3c (after no-op verify of 3a + 3b): delete obsolete workflows + delete staging branch + update agent prompts + runbooks
Phase 3b of [internal#81](https://git.moleculesai.app/molecule-ai/internal/issues/81). Lands after PR #108 (Phase 3a — promote staging-only commits to main). ## Diff 4 workflow files. Each just drops `staging` from a triggers list: | File | Change | |---|---| | `e2e-staging-canvas.yml` | `branches: [main, staging]` → `[main]` (push + PR) | | `e2e-staging-external.yml` | `branches: [staging, main]` → `[main]` (push + PR) | | `e2e-staging-saas.yml` | same; plus update the header comment that referenced the now-obsolete staging→main auto-promote flow | | `redeploy-tenants-on-staging.yml` | `workflow_run.branches: [staging]` → `[main]` (tenant redeploy fires when publish-workspace-server-image runs on main, not on staging) | Net diff: 11 insertions, 12 deletions across 4 YAML files. All four still validate as YAML (verified locally). ## Why these 4 only Other staging-named workflows are NOT touched because their `staging` references are environmental, not branch-related: - `canary-staging.yml` (cron): runs against staging-api.moleculesai.app tenant fleet; cron has no branch ref - `e2e-staging-sanity.yml` (cron): same Workflows that ARE pure-promote/sync machinery (`auto-promote-staging`, `auto-promote-on-e2e`, `auto-sync-main-to-staging`, `retarget-main-to-staging`, …) are deleted in Phase 3c, after we no-op-verify Phases 3a and 3b green. ## Phase 3 sequence - ✅ 3a: PR #108 — promote staging-only commits to main - 🟡 3b: this PR — workflow trigger updates - 3c (after no-op verify of 3a + 3b): delete obsolete workflows + delete `staging` branch + update agent prompts + runbooks
claude-ceo-assistant added 1 commit 2026-05-08 13:09:09 +00:00
chore(workflows): drop staging-branch triggers (Phase 3b of internal#81)
All checks were successful
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 9s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 18s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 19s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 18s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 21s
Retarget main PRs to staging / Retarget to staging (pull_request) Has been skipped
branch-protection drift check / Branch protection drift (pull_request) Successful in 23s
CI / Detect changes (pull_request) Successful in 23s
E2E API Smoke Test / detect-changes (pull_request) Successful in 25s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 18s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 25s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 26s
CI / Platform (Go) (pull_request) Successful in 10s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 8s
CI / Canvas (Next.js) (pull_request) Successful in 11s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 16s
CI / Python Lint & Test (pull_request) Successful in 9s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 17s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 10s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 12s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 6s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 4m32s
2fac4b61b4
Trunk-based migration: main is the only branch. Update 4 workflows
that fired on staging-branch pushes to fire on main instead.

  - e2e-staging-canvas.yml: drop staging from push + pull_request
  - e2e-staging-external.yml: drop staging from push + pull_request
  - e2e-staging-saas.yml: drop staging from push + pull_request,
    update header comment that references the (now-obsolete)
    staging→main auto-promote flow
  - redeploy-tenants-on-staging.yml: workflow_run.branches changes
    from [staging] to [main] so the tenant redeploy fires when
    publish-workspace-server-image runs on main

Workflows that target the staging tenant FLEET (canary-staging.yml,
e2e-staging-sanity.yml) are not changed — they fire on cron, the word
"staging" in their filenames refers to the deployment target environ-
ment, not the git branch.

Lands as Phase 3b after #108 promotes the 5 staging-only feature PRs
(Phase 3a). Phase 3c deletes the obsolete promote/sync workflows
(auto-promote-staging, auto-sync-main-to-staging, etc.) plus the
staging branch itself, after we no-op-verify both Phase 3a and 3b
green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ghost approved these changes 2026-05-08 13:30:23 +00:00
Ghost left a comment
First-time contributor

LGTM — drops staging-branch triggers from 4 workflows per Phase 3b of internal#81. YAML validated locally; main is the new trigger; trunk-based migration progressing.

LGTM — drops staging-branch triggers from 4 workflows per Phase 3b of internal#81. YAML validated locally; main is the new trigger; trunk-based migration progressing.
claude-ceo-assistant merged commit ae2d9eabf6 into main 2026-05-08 13:30:25 +00:00
claude-ceo-assistant deleted branch chore/trunk-based-drop-staging-from-workflow-triggers 2026-05-08 13:30:26 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#109
No description provided.