私たちはかなり標準的なmaven-release-pluginスタイルの開発を使用しています。master ブランチには、次のリリースに向けた開発が含まれています (xy-SNAPSHOT とラベル付けされた pom)。コードフリーズに入ると、マスターから分岐してリリースを準備します。このブランチからリリースを実行します。バグはこのブランチで修正されます。
さて、私の質問です。xy リリースの準備をするとき、通常、このリリース ブランチからビルドされた xy-SNAPSHOT に対してテストを行いました。ただし、テストが「合格」したとき、SNAPSHOT ラベルの付いたインストーラーに対して合格したことがわかりました。したがって、リリースを実行するには、コードを変更し (SNAPSHOT ラベルを削除)、新しいリリースを再スピンする必要があります。私たちの意見では、ビルドを再スピンすると、SNAPSHOT に対して行ったすべてのテストが無効になり、最終リリースを再テストする必要が生じました。
何をすべきか?
非 SNAPSHOT ビルドに対してのみ正式なテストを実行することを推奨することを検討しています。本質的に「リリース候補」にバグが見つかった場合は、リリース ブランチで修正し、バージョン xy(z+1) を上げて、再テストします。欠点は、クリーンな xy0 リリースではなく、xyz という名前になったことです。z は、リリース候補の数です。
このようなシナリオの経験がある人はいますか? これは正常なプロセスですか、それとも SNAPSHOT のテストについて過度に反応しているのでしょうか?