mirror of
https://github.com/manaflow-ai/cmux.git
synced 2026-03-30 12:37:11 +00:00
* Simplify R2 upload to appcast-only (keep DMGs on GitHub) DMGs are immutable per-build on GitHub Releases (unique filenames, no overwrite), so there's no race condition for them. Only the appcast.xml needs atomic replacement, which R2 PutObject provides. Upload the original appcast.xml as-is (GitHub Release DMG URLs) to R2. No sed URL rewriting, no DMG uploads, less storage/bandwidth. * Move R2 appcast upload after GitHub Release publish The R2 appcast references GitHub Release DMG URLs, so it must be uploaded after the DMGs exist on GitHub. Previously the R2 upload ran before the publish step, creating a brief window where the appcast pointed to a not-yet-existing DMG. * Add semver guard to stable R2 appcast upload Prevents a backport tag (e.g. v0.62.1 pushed after v0.63.1) from overwriting the stable appcast with an older version. Uses sort -V to compare all non-prerelease tags and only uploads if the current tag is the highest. --------- Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>