用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/tomes --skill publish-release命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
> Use when this capability is needed.
Use when writing kernel, account, or note MASM code that reads from or writes to the advice provider (advice stack / advice map) — validate advice data.
Use when writing a Rust test that exercises a failure path or a MASM test that expects a `panic` / `assert` — assert on the specific expected error variant or error code.
基于 SOC 职业分类
正在显示 SKILL.md
| name | publish-release |
| description | >- Use when this capability is needed. |
Execute the full Apollo iOS release workflow. This is a multi-step process involving GitHub Actions, CHANGELOG editing, and draft release publishing across multiple repos.
gh CLI authenticated with permissions to the apollographql orgapollo-ios-dev repositoryGather the target branch and version number:
v1, main) if not specified.git log origin/<branch> --oneline --grep="Release" | head -5
Run the GitHub Action that prepares the release branch:
gh workflow run "Create Release PR" --ref <branch> -f versionNumber=<version>
Monitor until complete:
gh run list --workflow="Create Release PR" --limit 1
gh run watch <run-id> --exit-status
Once complete, find the PR it created:
gh pr list --base <branch> --head release/<version> --json number,title,url
This phase requires user verification before pushing.
Fetch and checkout the release branch:
git fetch origin release/<version>
git checkout release/<version>
Read apollo-ios/CHANGELOG.md. The workflow will have inserted an empty
## v<version> section at the top.
Add changelog entries under the new version section. Use the existing format:
### New, ### Improvement, or ### Fixed as appropriate- **Short title ([#issue](url)):** Description. See PR [#pr](url).Gather entries from the commits since the last release:
git log origin/<branch> --oneline --no-merges <previous-tag>..origin/<branch>
STOP — Open the CHANGELOG in Xcode for user review:
open -a Xcode apollo-ios/CHANGELOG.md
Then use AskUserQuestion to ask if the user is ready to commit and push.
Do not push until the user confirms.
After approval, commit and push:
git add apollo-ios/CHANGELOG.md
git commit -m "Update CHANGELOG.md for v<version>"
git push
Merge the release PR:
gh pr merge <pr-number> --merge --admin
Wait for the subtree push workflow to complete. This pushes changes to the upstream apollo-ios, apollo-ios-codegen, and apollo-ios-pagination repos:
gh run list --workflow="pr-subtree-push.yml" --limit 1
gh run watch <run-id> --exit-status
The subtree push must succeed before proceeding — the publish workflow checks out the upstream repos and needs the latest code.
Run the publish workflow:
gh workflow run "Publish Release" --ref <branch>
Monitor until complete:
gh run list --workflow="Publish Release" --limit 1
gh run watch <run-id> --exit-status
The publish workflow performs these steps:
If the XCFramework dispatch fails (known issue on v1 — missing localRef param),
manually dispatch:
gh workflow run release-new-version.yml \
-f localRef=<branch> \
-f remoteRef=<version> \
--repo apollographql/apollo-ios-xcframework
Monitor until complete.
Report the status of each step to the user.
Fetch and display the draft release contents:
gh release view <version> --repo apollographql/apollo-ios
gh release view <version> --repo apollographql/apollo-ios-codegen
STOP — Open the draft release pages in the browser for user review. Extract
the URLs from gh release view output and open them:
open "<apollo-ios draft release URL>"
open "<apollo-ios-codegen draft release URL>"
Then use AskUserQuestion to ask if the user is ready to publish. The user may
want to edit the release notes directly on GitHub before publishing.
After user approval, publish both releases. Important: For releases on the
v1 branch, use --latest=false so they are not marked as the latest release
(the main branch carries the current major version):
# For main branch:
gh release edit <version> --draft=false --repo apollographql/apollo-ios
gh release edit <version> --draft=false --repo apollographql/apollo-ios-codegen
# For v1 branch:
gh release edit <version> --draft=false --latest=false --repo apollographql/apollo-ios
gh release edit <version> --draft=false --latest=false --repo apollographql/apollo-ios-codegen
Confirm publication and provide links to the published releases.
Xcode runs git status in the background, creating transient index.lock files.
Use retry loops for git operations:
while ! git <command> 2>/dev/null; do rm -f .git/index.lock; done
.github/workflows/create-release-pr.yml.github/workflows/publish-release.yml.github/workflows/pr-subtree-push.ymlapollo-ios/scripts/get-version.shapollo-ios/CHANGELOG.mdSource: apollographql/apollo-ios-dev — distributed by TomeVault.