Add opt-in tip update channel and rolling publish workflow#442
Open
baron wants to merge 2 commits into
Open
Conversation
Collaborator
Author
|
Tip rollout setup is now in place. GitHub configuration:
Hardening added in 6d250df:
Local validation passed: workflow actionlint, release tooling (57 tests), Swift lint, focused One credential step remains before merge/first automatic run: populate the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an opt-in Tip Builds update channel and a guarded rolling publish lane for latest passing
mainbuilds.App-side:
UpdateChannelsupport (stabledefault,tipopt-in)sparkle:versionbuild numbersGitHub/release side:
Publish Tipworkflow after successful CI on protectedmain, plus manual dispatchtip-release, smokes on a fresh no-secret runner, then publishes with a scoped tip tokenScripts/main_tip_release.shforstage,sign, andpublish-tiptip-<shortsha>assets in a dedicated tip update repolatestwithout--prereleaseso/releases/latest/download/appcast.xmlresolvesenv -i, explicit timeout forwarding)Docs/tests:
Release-process safety notes
This intentionally does not touch stable promotion or stable appcast publishing. Tip publishing uses a separate repo/token and the script fails closed if configured to the source repo or stable update repo.
The staged signing path was reviewed against the stable release process and keeps the important boundaries:
Validation
make dev-formatpython3 -m unittest Scripts.test_release_tooling.ReleaseToolingTests.test_main_tip_workflow_keeps_tip_separate_and_uses_hardened_smokebash -n Scripts/main_tip_release.sh Scripts/validate_staged_release.sh.github/workflows/main-tip.ymlmake dev-test FILTER=AppPlatformUtilityRecoveryTests.agents/skills/rpce-contribution-check/scripts/preflight.sh commit.agents/skills/rpce-contribution-check/scripts/preflight.sh pushReview
Claude Fable 5 High did a thorough release-process review of the first version, found blocking sign/publish issues, and then re-reviewed the amended commit. Follow-up verdict: prior blockers resolved; no new must-fix issues found.