Skip to content

[Tooling] Upload CDN builds as Internal first, publish as External later#2724

Open
iangmaia wants to merge 1 commit intotrunkfrom
ainfra-2102-cdn-builds-internal-visibility
Open

[Tooling] Upload CDN builds as Internal first, publish as External later#2724
iangmaia wants to merge 1 commit intotrunkfrom
ainfra-2102-cdn-builds-internal-visibility

Conversation

@iangmaia
Copy link
Contributor

@iangmaia iangmaia commented Mar 6, 2026

Related issues

How AI was used in this PR

Claude Code was used to implement the Fastfile changes based on the approach designed in #2689 and refined through PR discussion in #2695. All generated code was reviewed.

Proposed Changes

  • Upload all CDN build artifacts with visibility: :internal (Automatticians-only) during finalize_release / distribute_release_build, instead of external
  • Embed CDN post IDs as an HTML comment (<!-- CDN_POST_IDS:{...} -->) in the draft GitHub release body so they can be retrieved later
  • In publish_release, read the draft release body, extract post IDs, and call update_apps_cdn_build_metadata to flip visibility to external before publishing the GitHub release
  • This gives the team a window for internal testing between finalize and publish

Why visibility instead of draft status?

An earlier approach (#2695) used post_status: 'draft' instead of visibility: :internal. This was abandoned because:

  • Draft posts on the CDN may not be easily downloadable/testable by the Release Manager
  • Internal visibility keeps builds accessible to Automatticians for smoke-testing
  • Storing post IDs in the GitHub release body is more deterministic than querying the CDN API for drafts (only publishes builds from the last finalization, even if finalize_release ran multiple times)

Testing Instructions

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?

🤖 Generated with Claude Code

During finalize_release, all CDN builds are now uploaded with
visibility: internal. The CDN post IDs are embedded in the draft
GitHub release body. In publish_release, those IDs are read back
and update_apps_cdn_build_metadata flips visibility to external
before the GitHub release is published.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant