Skip to content

ci: one-off job that puts the missing production platform secrets on cmux-platform-production - #32470

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
ci/platform-prod-secrets
Nov 2, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
ci/platform-prod-secrets

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

NEXT Cloud's CloudDO is moving to cmux-platform in production (development and staging already passed). cmux-platform-production needs JWT_PRIVATE_JWK and CLOUD_LINK_SIGNING_KEYS equal to cmux-api production's, plus CLOUD_FREESTYLE_API_KEY.

This reuses the pattern of #30461 (platform-dev-secrets.yml, removed in #30813) for production:

  • environment cmux-next-production (branch policy: feat-cmux-next), runs once on the push that lands it (path-filtered to this file) since GitHub registers dispatch workflows only from main.
  • writes only those three names on cmux-platform-production, only when the Worker lacks the name: it never overwrites an existing secret.
  • a name the environment holds no copy of is skipped with a warning, never minted. Today cmux-next-production holds FREESTYLE_API_KEY only, so this run places CLOUD_FREESTYLE_API_KEY; the JWK and link keys can be placed by a later dispatch once their production copies are in the environment.
  • values go through stdin to wrangler secret put; the job prints secret names only.
  • no permission or runner changes (contents: read, same runner expression as ci: dispatch-only job that puts the dev JWT and Freestyle keys on cmux-platform-development #30461).

A follow-up drops the push trigger (dispatch-only).

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Adds a one-off GitHub Actions workflow that copies the production platform secrets onto cmux-platform-production for NEXT Cloud's CloudDO move into cmux-platform in production.

  • Pipes JWT_PRIVATE_JWK, CLOUD_LINK_SIGNING_KEYS, and CLOUD_FREESTYLE_API_KEY from the cmux-next-production environment via stdin to wrangler secret put, printing only secret names.
  • Writes each name only when the Worker lacks it; existing secrets are never overwritten.
  • Skips with a warning any name the environment doesn't hold; it never mints new values.
  • Runs once on the push that lands it (path-filtered to this file) because GitHub registers dispatch workflows only from main; a follow-up drops the push trigger.

Written for commit 75a7ea9. Summary will update on new commits.

View guided diff Turn on auto-fix

…cmux-platform-production

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
@cursor

cursor Bot commented Nov 2, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 75a7ea9: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr32470 -f ref=ci/platform-prod-secrets -f platform=macos -f backend_mode=local

Shipped in:

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 2, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 2, 2026

Copy link
Copy Markdown

Found 2 test failures on Blacksmith runners:

Failures

Test View Logs
test_no_workflow_adds_a_single_size_linux_job (main.WorkflowTests.test_no_workflow_
adds_a_single_size_linux_job)/
test_no_workflow_adds_a_single_size_linux_job (main.WorkflowTests.test_no_workflow_
adds_a_single_size_linux_job)
View Logs
test_no_workflow_falls_back_to_blacksmith_outside_manaflow_ai (main.ForkRunnerRouti
ngTests.test_no_workflow_falls_back_to_blacksmith_outside_manaflow_ai)/
test_no_workflow_falls_back_to_blacksmith_outside_manaflow_ai (main.ForkRunnerRouti
ngTests.test_no_workflow_falls_back_to_blacksmith_outside_manaflow_ai)
View Logs

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

@teamleaderleo
teamleaderleo merged commit 93019ed into feat-cmux-next Nov 2, 2026
152 of 161 checks passed
@teamleaderleo
teamleaderleo deleted the ci/platform-prod-secrets branch November 2, 2026 17:25
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 75a7ea9

Reviewer: codex gpt-6.1-sol xhigh, fast tier.

Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward.

SHIP at 75a7ea9

Visual verdict: no images; Leo tries the build

  1. [P2][follow-up] .github/workflows/platform-prod-secrets.yml:49-51 The list-then-put check is not atomic. If another operator or rotation job creates a missing secret after the initial list, this workflow overwrites it, violating the “never overwrites” guarantee. Use a create-only operation or coordinate/recheck immediately before each write.

Follow-ups:

  • [P2][follow-up] Make the missing-secret check and write atomic to prevent concurrent creation from being overwritten.

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 75a7ea93 Deployed Nov 2, 2026 by teamleaderleo via wait for same-key tree publisher #102075
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant