Skip to content

docs(release): rewrite RELEASING and the release skill for the simpler flow - #3678

Merged
datlechin merged 2 commits into
mainfrom
docs/releasing-rewrite
Oct 19, 2026
Merged

datlechin merged 2 commits into
mainfrom
docs/releasing-rewrite

Conversation

@datlechin

@datlechin datlechin commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Summary

  • apple/RELEASING.md follows the flow from ci(release): check the tag's own CI runs instead of walking and polling #3584, ci: one CI workflow with a single required check #3675, ci: replace the changelog checker with towncrier and two small checks #3587 and ci(release-build): one MAC_RUNNER switch and a weekly hosted build #3589: 18,824 to 10,714 bytes.
  • The train is four lines. Dropped the time window, holiday dates, ruleset pointers and the done v0.82 bridge paragraph.
  • New Tagging section: version.py check runs on the local tag before git push, so a broken rule costs no number.
  • Storage check runs before beta.1, before every stable, and on a pick that touches the storage paths. The critical question is a step at stable and patch.
  • X.Y.0 step: the shipped detector must print false since the newest beta.
  • Kept facts the gate and scripts still enforce: version bounds, the lead limit (6 plain lines, no # or - ), plugin retention, the Withdraw refusal, GA Xcode for app and plugins, publish-libs.sh --dry-run, libs-v1, the cert expiry warning, the release/0.82 gates.
  • Fragments are curated in the release PR. The forward-port is an agent-run cherry-pick PR merged with --auto.
  • retainFromPluginKit is checked only when TABLEPRO_PLUGINKIT_VERSION changes.
  • New manual iOS section, tagged ios-vX.Y.Z, never v*.
  • Reproducing a Release build moved to apple/CONTRIBUTING.md, with VERSION and BUILD exported (package.sh plugins needs BUILD). ci.md Runners has the MAC_RUNNER set and delete commands.
  • Release skill: 7,028 to 4,162 bytes, six steps, agents run release commands when told. Model invocation stays on. It reads the shipped detector and checks the appcast and asset count after publish.
  • Root RELEASING.md points iOS to apple/RELEASING.md. data-sync-storage.md points to the new Storage check section.
  • .claude/rules/ci.md already sends iOS test flags to tests.md, Plans.

Test plan

  • Ran every read-only command cited, against live state: tag list, ls-remote, regression issues, gh release view, gh run list (ci.yml with --status success and --commit, release-build.yml, release.yml), gh pr view --json mergeCommit, Dependabot alerts, gh pr list picks, the git grep heading check, version.py parse (including the beta and MINOR bounds).
  • version.py check on local, unpushed tags in a scratch clone: a beta.1 reports only the missing CI push run; a second tag on the same commit reports one v* tag per commit.
  • detect-changed-paths.sh --base v0.82.0 --head origin/main shipped prints true; the same head and base print false.
  • Appcast grep on gh-pages prints 1 for 0.82.0; v0.82.0 has 30 assets, 4 plus 26 registry.py targets.
  • Storage check over v0.82.0..origin/main lists the 4 expected commits.
  • scripts/check-banned-words.sh --staged passes.

@datlechin
datlechin enabled auto-merge (squash) October 19, 2026 21:47
@datlechin
datlechin merged commit 3222542 into main Oct 19, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant