Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ビルドとリリース

リリース成果物のビルド

cargo build --workspace --release

特定のクレートのみをビルド:

cargo build -p edgesentry-rs --release

crates.io への公開

  1. まず品質ゲートを検証:
./scripts/run_unit_and_license_check.sh
cargo clippy --workspace --all-targets --all-features -- -D warnings
  1. 一度だけログイン:
cargo login <CRATES_IO_TOKEN>
  1. ドライラン公開:
cargo publish --dry-run -p edgesentry-rs
  1. 公開:
cargo publish -p edgesentry-rs

GitHub Actions リリース自動化( macOS / Windows / Linux )

このリポジトリには.github/workflows/release.ymlが含まれています。

  • トリガー:v0.1.0のようなタグをプッシュ
  • 品質ゲート:ビルド・ユニットテスト・ライセンスチェック・ clippy
  • edgesentry-rsを crates.io に公開
  • Linux ・ macOS ( x64 + arm64 )・ Windows 向けのedsバイナリをビルド
  • パッケージ済みバイナリを GitHub Release アセットにアップロード

注意:.github/workflows/ci.ymledgesentry-rscargo publish --dry-runを実行します。

必要な GitHub シークレット:

  • CRATES_IO_TOKENcargo publishが使用する crates.io API トークン

マージ後の自動バージョンインクリメント

このリポジトリには.github/workflows/auto-version-tag.ymlも含まれています。

  • トリガー:mainで CI が成功したとき
  • アクション:Cargo.tomlworkspace.package.versionを更新し、vX.Y.Zタグを作成・プッシュ
  • その後:そのタグによってrelease.ymlがトリガーされ、完全なリリースパイプラインが実行される

バージョンバンプルール( Conventional Commits ):

  • fix: -> パッチバンプ(x.y.z -> x.y.(z+1)
  • feat: -> マイナーバンプ(x.y.z -> x.(y+1).0
  • !またはBREAKING CHANGE -> メジャーバンプ(x.y.z -> (x+1).0.0