sksat/trochia

リリースの仕方を考える

Closed this issue · 6 comments

sksat commented

どうリリースしていくか?

sksat commented

ブランチモデルはGit-flowライクなものとする.
とはいえ,どうせ1人で開発するのでそこまで厳密に守る必要は無い.

  • masterは絶対にうまく動くようにする
  • 最新版はdevelop
  • 新機能を作る時はfeature/hogeブランチをdevelopから切る
  • 新機能開発にある程度区切りがついたらfeature/hogeをdevelopにマージ
  • developでリリース準備が済んだらmasterにマージ
  • masterでversion tagをつけてリリース
  • 問題発生時はhotfix/fugaをmasterから切って作業
sksat commented

tagをpushしたら自動リリースできると最高

  • 自動リリースのイメージ
    • tag pushをトリガに実行
    • Windows,Mac,Linux向けのビルド実行
    • 依存ライブラリのライセンス文書からCOPYINGを生成
    • ターゲットプラットフォーム毎に生成物をtarなりzipなりで固める
    • GitHub Releaseにアップロード
sksat commented

複数のプラットフォームでのビルド

runs-on: ${{ matrix.os }}
strategy:
  matrix:
    os: [ubuntu-latest, windows-latest, macOS-latest]
sksat commented

依存ライブラリのライセンスのパス

  • Eigen: build/deps/build/eigen/src/eigen/COPYING.MPL2
  • toml11: build/deps/build/toml11/src/toml11/LICENSE
sksat commented

a1f7617 ubuntu-latest, windows-latest, macOS-latestでのビルド完了

sksat commented

自動リリースは #13 でやる