沖永凌のブログ

株式会社ARTISAN, 現場Hub, SaaS開発, スタートアップ, CTO

カレンダーバージョニングのためのGitHubアクションを作った

背景

もともとは、プロダクトのAPIサーバー・フロントエンドのリポジトリそれぞれで、セマンティックバージョンを利用していた。

しばらく運用していくなかで、

  • デプロイの頻度が高まってきたことで、上げる数字の判断が面倒になってきた(メジャー?マイナー?パッチ?)
  • 少数の開発メンバーしか触らないので、そもそも後方互換性があるかどうかを示す必要がないことに気づく

という理由で、カレンダーバージョニングを利用するようになった。

現在日付とbuild回数でバージョン番号が自動で決まるため、運用してみると便利なバージョニング方法だとわかる。

せっかくなのでみんなが使えるようGitHubのカスタムアクションを作ることにした。

GitHubのカスタムアクション

github.com

セマンティックバージョニングと違い、カレンダーバージョニングには画一的なスキーマはなく、 プロダクトのデプロイ頻度に併せて自由に定義する。 作成したカスタムアクションでも、スキーマを定義できるようにした。

例えば、1日に数回デプロイすることがある場合は、

YYYY.0M.0D.MICRO

年に数回のデプロイであれば、

YYYY.MICRO

と定義する。

特にセマンティックバージョニングを使う理由がなければ、是非カレンダーバージョニングを始めよう。