release
Release a new version of AllBeads. Use when the user wants to ship, release, publish, or tag a new version. Handles version bumping, quality checks, tagging, pushing, and homebrew tap updates.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
AllBeads Release Skill
Automate the AllBeads release process including quality checks, version bumping, tagging, and homebrew tap updates.
Pre-Release Checklist
Before releasing, verify:
-
Quality gates pass (ALL THREE are mandatory - never skip tests!):
cargo fmt -- --check && cargo clippy -- -D warnings && cargo test -
All blockers closed: Check the release epic in beads
bd show <epic-id> -
Changes committed:
git statusshows clean working tree
Release Process
Step 1: Determine Version
Ask the user what version to release if not specified. Check current version:
grep '^version' Cargo.toml
Version format: MAJOR.MINOR.PATCH (e.g., 0.7.0)
Step 2: Update Version
Edit Cargo.toml to update the version:
version = "X.Y.Z"
Step 3: Commit Version Bump
git add Cargo.toml Cargo.lock
git commit -m "Bump version to X.Y.Z"
Step 4: Create Annotated Tag
Create a tag with release notes summarizing the changes:
git tag -a vX.Y.Z -m "AllBeads X.Y.Z Release
## Highlights
- Key feature 1
- Key feature 2
## Changes
- Change 1
- Change 2
## Bug Fixes
- Fix 1
- Fix 2"
Step 5: Push to GitHub
git push && git push --tags
Step 6: Monitor Release Build
Watch the GitHub Actions release workflow:
gh run list --limit 3
gh run watch <run-id>
Wait for the Release workflow to complete successfully.
Step 6b: Update Release Title and Notes
The GitHub Actions workflow creates a release but may not populate the title/body from the tag. Update it:
Title format: vX.Y.Z - Feature 1, Feature 2, Feature 3
Examples:
-
v0.5.0 - Aiki Integration, Governance, TUI Contexts -
v0.6.0 - Context Creation, Claude Plugin Support
gh release edit vX.Y.Z --title "vX.Y.Z - Feature 1, Feature 2" --notes "$(cat <<'EOF'
## Highlights
- Key feature 1
- Key feature 2
## Changes
- Change 1
- Change 2
## Bug Fixes
- Fix 1
- Fix 2
EOF
)"
Step 7: Close Release Epic
bd close <epic-id> --reason="Released vX.Y.Z"
bd sync
Step 8: Update Homebrew Tap
After the release build completes, update the homebrew tap at ../homebrew-allbeads:
-
Get SHA256 hash for the macOS ARM binary:
curl -sL https://github.com/thrashr888/AllBeads/releases/download/vX.Y.Z/allbeads-macos-aarch64 | shasum -a 256 -
Update
../homebrew-allbeads/Formula/allbeads.rb:- Update
version "X.Y.Z" - Update SHA256 hash for aarch64
- Update download URL with new version
- Update
-
Commit and push the homebrew tap:
cd ../homebrew-allbeads git add Formula/allbeads.rb git commit -m "Update allbeads to vX.Y.Z" git push
Post-Release
- Verify installation works:
brew upgrade allbeadsorbrew install thrashr888/allbeads/allbeads - Announce release if needed
- Start next development cycle
Troubleshooting
Workflow job stuck or cancelled
GitHub Actions runners (especially macOS) can be unreliable. If a job is stuck in "queued" or immediately cancelled:
- Cancel the stuck workflow:
gh run cancel <run-id> - Delete and recreate the tag to trigger a fresh run:
git push origin :refs/tags/vX.Y.Z # Delete remote tag git tag -d vX.Y.Z # Delete local tag git tag -a vX.Y.Z -m "Release" # Recreate tag git push origin vX.Y.Z # Push new tag
Platform support
- Supported: Linux x86_64/aarch64, macOS ARM (aarch64), Windows x86_64
- Note: macOS Intel (x86_64) runners can be unreliable
Test workflow changes safely
Before modifying .github/workflows/release.yml for a real release, test changes on a separate branch or with a test tag (e.g., v0.0.0-test).
Rollback
If something goes wrong:
# Delete local tag
git tag -d vX.Y.Z
# Delete remote tag
git push origin :refs/tags/vX.Y.Z
# Revert commits if needed
git revert HEAD
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!