Songmu/tagpr が複数 major version リリースに対応しました
·
Konboi
はじめに
自分は cloudbees-oss/smart-tests-cli(旧 launchableinc/cli)で v1 と v2 のメンテナンスをしている。v1 を利用しているお客さんも多く、v1 のメンテナンスを継続する必要がある。
もともとの課題は Issue #248 で起票したように、v2 系のタグが作られた後に v1 ブランチで tagpr を動かすと、最新タグ判定が v2.* 側に引っ張られてしまう点だった。
これだと v1 ブランチで tagpr を利用して継続リリースする運用が難しい。なので、ブランチごとに major version を固定できる PR を取り込んでもらった。
取り込んでもらったPRは以下の2つ。(2つ目は考慮漏れのパッチw)
- Add fixedMajorVersion option for multiple major version support (PR #296)
- Fix PR description including already shipped PRs when using fixedMajorVersion (PR #317)
利用方法
簡単に使い方を説明すると fixedMajorVersion で固定したい major version を設定するだけ。
v1 ブランチ用 (v1):
[tagpr]
releaseBranch = "v1"
fixedMajorVersion = "1"
mainブランチ用 (v2):
[tagpr]
releaseBranch = "main"
fixedMajorVersion = "2"
結果
smart-tests-cli では v1 と v2 の両バージョンで、tagpr を使ったリリース運用ができる状態になった。控えめに言って最高!

さいごに
複数バージョンの並行メンテナンスが必要な人には、fixedMajorVersion を使った運用をおすすめします! 是非!!
レビュー&マージをしてくれた Songmu さんに感謝!!
引き続きよろしくお願いしますmm