Skip to content

release: add a pre-tag completeness check for changesets and release inclusion #710

@mk3008

Description

@mk3008

Background

タグ作成前の確認において、直近でマージされた変更が今回の release に含まれるのか、あるいは次回へ見送るのかが明確でないまま進むと、changeset の取りこぼしや changelog 反映漏れが発生しやすくなります。

特に、release PR 作成時点より前に merge 済みであっても、release に含める判断と evidence が揃っていない変更が残ると、タグ後の説明や追加修正が必要になります。

Problem

現在の release preparation では、"このタグに含める変更" と "今回は含めない変更" の境界がタグ前に明示されないまま進む可能性があります。

その結果、以下のような状態が起こりえます。

  • changeset が必要な変更の取りこぼし
  • changelog に含めるべき変更の反映漏れ
  • release 後に「今回載ると思っていた変更」が未反映であることに気づく
  • 逆に、今回は載せない変更の扱いが曖昧になる

Proposal

タグ前の標準確認として、release completeness check を追加したいです。

少なくとも以下を確認対象にします。

  • release PR 作成時点までに merge 済みの対象 PR 一覧
  • 各 PR が今回の release に含まれるかどうか
  • changeset が必要な変更に changeset が存在するか
  • changeset が不要な変更は、その理由が明示されているか
  • 今回含めない変更がある場合は、その旨が明示されているか

重要なのは、実装を複雑にすることではなく、タグ前に "release inclusion の判断が閉じている" 状態を作ることです。

Expected benefit

  • changeset や changelog の取りこぼしを減らせる
  • タグ後の補足説明や追加修正を減らせる
  • reviewer と maintainer が release scope を共有しやすくなる
  • release note の説明責任を果たしやすくなる

Definition of done

  • タグ前に確認する release completeness の項目が定義される
  • 直近 merge 分について "含める / 含めない / changeset 不要" の判断を記録する運用が決まる
  • release PR または release checklist から、その判断を追跡できる
  • 同種の changeset 取りこぼしや release inclusion の曖昧さを減らせる状態になる

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions