You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Tooling] Upload CDN builds as Internal first, publish as External later (#2724)
## Related issues
- Fixes AINFRA-2102
- Depends on wordpress-mobile/release-toolkit#701 — released in toolkit
14.7.0, bundled in this PR
- Supersedes #2689 and #2695
## How AI was used in this PR
Claude Code implemented the Fastfile changes based on the approach
designed in #2689 and refined through review of #2695, and assisted with
rebasing and verification. All generated code was reviewed.
## Proposed Changes
Today, production builds become publicly available on the Apps CDN as
soon as `finalize_release` uploads them — before the Release Manager has
a chance to verify them. This PR closes that gap by giving the team an
internal testing window between finalize and publish:
- `finalize_release` uploads Production builds with **Internal**
visibility: downloadable by Automatticians for smoke-testing, but not
served to users (the auto-update endpoint only serves External builds)
- `publish_release` flips them to **External** (via the new
`update_apps_cdn_build_metadata` toolkit action) right before publishing
the GitHub release
- Nightlies and Betas keep External visibility — they don't go through
`publish_release`, so nothing would ever flip them
- The CDN post IDs to flip are carried in the draft GitHub release body,
so publish only touches builds from the latest finalization (an earlier
draft-status approach, #2695, was abandoned because draft posts aren't
easily testable by the RM)
## Testing Instructions
- The visibility flips (single + batch) were verified end-to-end against
the CDN sandbox site (AINFRA-2171) — see the test plan on
wordpress-mobile/release-toolkit#701
- The full finalize → publish flow will be exercised during the next
release cycle
## Pre-merge Checklist
- [x] Have you checked for TypeScript, React or other console errors?
- [x] release-toolkit#701 merged, released (14.7.0), and bundled in this
PR
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
UI.user_error!("Missing CDN post IDs for: #{missing.join(', ')}. publish_release needs every build's post ID to flip its visibility to External.")unlessmissing.empty?
1230
+
1231
+
body += "\n<!-- CDN_POST_IDS:#{cdn_post_ids.join(',')} -->"
0 commit comments