📌
Github Actionsで、リリース用PRを作成・マージすると自動でタグを打つようにする
はじめに
個人開発のリポジトリに tagpr を導入し、GitHub Actionsでリリース用PRを作成・マージすると自動でタグを打つようにしました。
tagprとは
tagpr を機能強化してv1.0.0をリリースしました | おそらくはそれさえも平凡な日々
- リリースに伴うファイル変更をおこない、pull request化してくれる
- 変更は仮変更でその後開発者側で調整可能
- 全くファイル変更がないケースも対応可能
- それがマージされるとsemverタグが打たれる
これらをGitHub Actionsで自動で行ってくれます。
やりたいこと
今回の個人開発では以下の運用で開発を行なっています。
-
main
ブランチとdevelopブランチで運用 -
main
ブランチは本番環境へのデプロイのトリガーとして機能しており、main
ブランチにマージされることで、自動的に本番環境へのデプロイプロセスが開始
main
ブランチへマージされたタイミングで tagの作成とGithubのリリース作成を行いたい。
これを実現するために、tagpr を導入しました。
導入方法
ワークフロー
Github Actions のワークフローを追加します。
# .github/workflows/tagpr.yml
name: tagpr
on:
push:
branches:
- main
jobs:
tagpr:
runs-on: ubuntu-latest
outputs:
tagpr-tag: ${{ steps.run-tagpr.outputs.tag }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Check out code
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- id: run-tagpr
name: Run tagpr
uses: Songmu/tagpr@v1
設定
ワークフローを動かすにあたり、リポジトリの Settings > Actions > General
の Workflow permissions の設定を以下にする必要があります。
結果
mainにPRがマージされると、Github Actionsが動き
- リリースブランチの作成
- CHANGELOGの更新
- PRの作成
を自動で行なってくれます。
次のようなPull Requstが自動で作成されます。
PRにはリリース予定項目の一覧が記載されます。
これがマージされるとリリースされるんだなというのが分かるので便利です。
このRRをマージすると、semverタグが打たれます。
おわりに
この記事では、GitHub Actionsとtagprを利用し、main
ブランチへマージされたタイミングで自動的にリリースタグを作成する方法を解説しました。
具体的なワークフロー設定とその結果を示し、この方法により開発フローを自動化できることを示しました。
Discussion