Skip to content

release ワークフローで古い GitHub Release を最新3件のみ残す - #33

Merged
krrrr38 merged 1 commit into
mainfrom
cleanup-old-releases
Aug 30, 2026
Merged

release ワークフローで古い GitHub Release を最新3件のみ残す#33
krrrr38 merged 1 commit into
mainfrom
cleanup-old-releases

Conversation

@krrrr38

@krrrr38 krrrr38 commented Aug 30, 2026

Copy link
Copy Markdown
Member

Summary

  • .github/workflows/release.ymlDelete old releases ステップを追加し、リリース作成後に古い GitHub Release を削除するようにした
  • 保持するのは作成日時が新しい順に3件で、4件目以降を削除対象とする(新規作成の後に実行するため、常に「今回作ったものを含む最新3件」が残る)
  • gh release list --json tagName,createdAt の結果を sort_by(.createdAt) | reverse | .[3:] で絞り込んでおり、gh release list のデフォルトの並び順に依存しない
  • gh release delete --cleanup-tag を使い、Release と一緒に release-YYYYmmdd-HHMMSS タグも削除する

権限について

  • Release とタグの削除にはいずれも contents: write が必要だが、既存の job レベルの permissions: contents: write でカバーできるため追加の変更は不要
  • タグを対象にした ruleset / tag protection は未設定のため、--cleanup-tag によるタグ削除がブロックされることはない

Test plan

  • workflow_dispatch で release ワークフローを4回以上実行し、Releases が最新3件のみになることを確認する
  • 削除された Release に対応するタグも残っていないことを確認する

🤖 Generated with Claude Code

@github-actions github-actions Bot added the ci label Aug 30, 2026
@krrrr38
krrrr38 merged commit a393ae3 into main Aug 30, 2026
14 of 15 checks passed
@krrrr38
krrrr38 deleted the cleanup-old-releases branch August 30, 2026 23:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant