diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b58f18..0ad9027 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,9 @@ name: CI on: push: - branches: [main] + branches: [main, develop] pull_request: - branches: [main] + branches: [main, develop] env: CARGO_TERM_COLOR: always diff --git a/CLAUDE.md b/CLAUDE.md index 81ea237..29e5b7d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -30,6 +30,40 @@ cargo test # テスト(現状少ない) | http_server.rs | 汎用的なエンドポイント。notedeck 専用なら notedeck 側で `build_core_routes()` を拡張 | | streaming.rs | 汎用的なイベント処理の改善 | +## ブランチ運用(notedeck と同一) + +- `develop`: 開発用ブランチ。feature/fix ブランチの PR は develop に向ける +- `main`: リリース用ブランチ。develop → main の Release PR 経由でのみ更新 +- CI は main / develop への push・PR で実行される + +## リリース手順 + +### 1. バージョンバンプ(develop ブランチ上) + +`Cargo.toml` の `version = "X.Y.Z"` を更新: + +```bash +cargo check # Cargo.lock も同期 +``` + +コミット例: `chore: bump version to X.Y.Z` + +### 2. PR 作成・マージ + +- develop → main の PR を作成(タイトル例: `Release vX.Y.Z`) +- 本文に `git log --oneline vPREV..develop` ベースの変更一覧を記載 +- CI が通ることを確認してマージ + +### 3. タグ作成・プッシュ(CI トリガー) + +```bash +git checkout main && git pull +git tag -s vX.Y.Z -m "Release vX.Y.Z" +git push origin vX.Y.Z +``` + +タグ push で `.github/workflows/release.yml` が起動し、5 ターゲット(Linux amd64/arm64, macOS amd64/arm64, Windows amd64)のバイナリ付き GitHub Release が作成される。 + ## コーディング規約 - エラー型は `error.rs` の `NotecliError` に統一