Skip to content

Onion のリリース

Onion は git タグ をリリースの起点としています。バージョンは sbt-dynver によって最新のタグから自動的に導出されるため、build.sbtversion := ... を手動で更新する必要はありません。

リリースチェックリスト

  1. develop が正常であることを確認する。

    sbt test
    

  2. 次のバージョンを決める。 Onion は Semantic Versioning に従い、必要に応じてマイルストーンやRCプレリリースを行います。

  3. パッチリリース: v0.2.1
  4. マイナーリリース: v0.3.0
  5. マイルストーン: v0.3.0-M1
  6. リリース候補: v0.3.0-RC1

  7. CHANGELOG.md を更新する。 リリース日と、ユーザーに影響する変更、バグ修正、内部改善の概要を含む新しいセクションを追加します。

  8. タグを作成してプッシュする。

    git checkout develop
    git pull
    git tag -a v0.2.0 -m "Release v0.2.0"
    git push origin v0.2.0
    

  9. CI に残りの作業を任せる。 release workflow は以下を実行します。

  10. テストスイートの実行
  11. fat jar(sbt assembly)と配布用ZIP(sbt dist)のビルド
  12. タグがsbtから導出されたバージョンと一致することの確認
  13. fat jarの動作確認
  14. SHA-256チェックサムの生成
  15. 成果物と自動生成ノート付きGitHubリリースの作成

  16. リリースを確認する。

  17. GitHubリリースページを確認
  18. onion-<version>.jar をダウンロードして確認:
    java -cp onion-<version>.jar onion.tools.ScriptRunner run/Hello.on
    

ローカルでの成果物確認

リリースを作成せずに同じ成果物をローカルでビルドするには:

sbt assembly dist

出力: - target/scala-3.3.7/onion-<version>.jar (fat jar) - target/onion-dist-<version>.zip (配布用アーカイブ)

ホットフィックスリリース

既にリリースされているバージョンに対するホットフィックスは、リリースタグからブランチを作成し、修正を適用してから新しいパッチタグ(例: v0.2.1)をプッシュします。