✨
Github関連の設定
githubにPRを作成したときやissueを作りたいときのテンプレートを作成する
Issue
Bug template
.github/ISSUE_TEMPLATEに格納する
bug_report.md
---
name: Bug report
about: バグのissueのテンプレート
title: ''
labels: bug
assignees: ''
---
**バグの説明**
完結にバグの説明をする
**再現方法**
バグを再現する方法を以下に記載:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**期待する動作**
期待通りに動いた時の処理の結果などを説明
**スクリーンショット**
必要であれば追加
**※もし端末ごとのバグの場合はバージョンなどを記載**
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**補足**
もしあれば補足を追加
Pull Request
.githubの配下に格納
PULL_REQUEST_TEMPLATE.md
## 概要
- このプルリクエストの目的や変更点の概要を記述します。
## issue
- issueのidを設定します。
## 変更点
- 具体的な変更点をリストアップします。
- 変更点1
- 変更点2
## 動作確認結果
- 変更点の動作確認結果を記述します。
- [ ] 動作確認手順1が成功した
- [ ] 動作確認手順2が成功した
## 注意点
- 注意点や追加の説明が必要な場合は記述します。
Merge check
本番用のmainブランチと開発用のdevブランチがある場合に、その他のブランチのPRはdevへのみ許可したい。誤ったブランチが設定されていないかを確認するためのworkflow。
dev→mainへのマージを許可
dev以外→devへのマージを許可、mainへのマージは不可
.github/workflowsに格納する。
merge_check.yml
name: Merge Check
on:
pull_request:
types:
- opened
- synchronize
- reopened
- edited
jobs:
merge-check:
runs-on: ubuntu-latest
steps:
- name: Check Merge Target
run: |
TARGET_BRANCH=$(jq --raw-output .pull_request.base.ref "$GITHUB_EVENT_PATH")
BASE_BRANCH=$(jq --raw-output .pull_request.head.ref "$GITHUB_EVENT_PATH")
if [ "$BASE_BRANCH" == "dev" ]; then
echo "No need to check"
exit 0
fi
if [ "$TARGET_BRANCH" == "main" ]; then
echo "error: Cannot merge to main except from dev"
exit 1
fi
- name: Add comment to PR
if: failure()
uses: actions/github-script@v6
with:
github-token: ${{secrets.PR_COMMENT_TOKEN}}
script: |
const issue_number = context.payload.pull_request.number;
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue_number,
body: "マージ先のブランチはdevを選択してください。"
});
Discussion