Rust/Cargoプロジェクトのバージョン更新、GitHubリリース、crates.io publishを実行する。
Rust/Cargoプロジェクトのリリース手順を実行するスキル。
| 引数 | 必須 | 説明 |
|---|---|---|
| version | Yes | リリースするバージョン(例: 0.2.0) |
/cargo-release 0.2.0
引数検証
現在のバージョン確認
grep '^version' Cargo.toml
git状態確認
git status --porcelain
既存タグ一覧確認
git tag --list 'v*' --sort=-version:refname | head -10
Cargo.tomlのバージョン更新
# Cargo.toml の version = "X.Y.Z" を更新
Cargo.lockの更新
cargo check
テスト実行
cargo test
変更をコミット
git add Cargo.toml Cargo.lock
git commit -m "chore: bump version to {version}"
mainブランチにプッシュ
git push origin main
バンプコミットのSHA取得
BUMP_SHA=$(git rev-parse HEAD)
ワークフロー起動
gh workflow run release.yml -f version={version} -f bump_sha=$BUMP_SHA
進捗確認用コマンドを表示
gh run list --workflow=release.yml --limit 1
gh run watch <run-id>
gh CLIがインストール・認証済みCARGO_REGISTRY_TOKEN シークレットが設定済み(crates.io publish用)revert-bump-v{version} ブランチ)が自動作成される(ただしHEADが移動していない場合のみ)。mainのルールセットがPR必須のためワークフローからは直接pushできず、マージはユーザーの手動操作cargo publish の失敗ではrollbackされない(GitHub Releaseは成功済みのため)gh workflow run release.yml -f version={version} -f bump_sha=$(git rev-parse HEAD) を再実行(bump_shaはorigin/mainのHEADであれば、バンプコミット自体でなくてよい)publish ジョブのみ再実行cargo publish -p octorus を実行(CARGO_REGISTRY_TOKEN が必要)gh workflow run での再実行はタグ重複バリデーションで失敗するため使用不可gh workflow run release.yml -f version={version} -f bump_sha=$BUMP_SHA で再試行