Skip to content

ci: リリースをタグ付けから公開・Release 作成まで自動で繋ぐ - #58

Merged
k163377 merged 1 commit into
mainfrom
ci/automate-release
Sep 5, 2026
Merged

k163377 merged 1 commit into
mainfrom
ci/automate-release

Conversation

@k163377

@k163377 k163377 commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

版宣言 PR のマージを起点に、タグ付けから公開・GitHub Release の作成までを自動で進める。

wf 実行 → 版宣言 PR → マージ
  └→ tag: タグ v<版> → publish を起動
       └→ publish: build / integration-test → Central deploy 作成 → Plugin Portal 公開
            ├→ github-release: Release 作成
            ├→ docs: Pages 掲載
            └→ next-version: -SNAPSHOT へ戻す PR

手作業として残るのは Central Portal の validation 確認のみ。

起点の移動

GITHUB_TOKEN が作った Release は release イベントを起こさないため、Release の自動作成と
「Release を公開の起点にする」設計は両立しない。publish の起点を workflow_dispatch へ移し、
タグを ref に渡して release.yml から起動する。

ref がタグである点は従来と変わらないため、版照合・ドキュメント保管・次版 PR には手を入れていない。
既定ブランチなど別の ref で起こした場合は、既存の版照合が食い違いとして落とす。

Release の本文

変更点は持たず、CHANGELOG の当該節を指すだけとする。写しを置くと版を跨いで食い違うため、
変更点の正は CHANGELOG に一本化する。**Full Changelog** 行だけは GitHub の自動生成と
同じものを generate-notes API から取る。

Changes in this release: [CHANGELOG](https://github.com/ProjectMapK/sealed-class-enumizer/blob/v2.4.10-0.1.1/CHANGELOG.md#2410-011)

**Full Changelog**: https://github.com/ProjectMapK/sealed-class-enumizer/compare/v2.4.10-0.1.0...v2.4.10-0.1.1

作成は公開の後に置く。先に作ると、公開が落ちた時に成果物が無いまま Latest release が立つ。
publish とは別ジョブとしたため、ここが落ちてもドキュメント掲載と次版 PR は進む。

ローカル検証

項目 結果
YAML パース 両ファイルとも成功。on / jobs / needs / permissions を構造で確認
tag ステップ空撃ち 開発版・タグ既存は出力が空(起動を飛ばす)、通常は tag=v<版>
Release ステップ空撃ち 既存ありは notice で早期 return、通常は上記の本文を生成
アンカー実在 タグ v2.4.10-0.1.1 時点の CHANGELOG に #2410-011 が有ることを確認
Full Changelog 行 API 出力が現行 Release の記載と一致
リポジトリ解決 作業ツリー外で GH_REPO から解決できることを確認

🤖 Generated with Claude Code

版宣言 PR のマージを起点に、タグ付け → 公開 → GitHub Release の作成までが自動で進むようにする。
GITHUB_TOKEN が作った Release は release イベントを起こさないため、publish の起点を
workflow_dispatch へ移し、タグを ref に渡して release.yml から起動する。ref がタグである点は
従来と変わらないため、版照合・ドキュメント保管・次版 PR は手を入れていない。

Release の本文は変更点を持たず CHANGELOG の当該節を指す。写しを置くと版を跨いで食い違うため、
変更点の正は CHANGELOG に一本化する。作成は公開の後に置き、成果物が無いまま Latest release が
立つことを避ける。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@k163377
k163377 force-pushed the ci/automate-release branch from e385afd to 1b48530 Compare September 5, 2026 12:59
@k163377
k163377 marked this pull request as ready for review September 5, 2026 13:11
@k163377
k163377 merged commit 100942b into main Sep 5, 2026
11 checks passed
@k163377
k163377 deleted the ci/automate-release branch September 5, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant