48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
name: "Release Manager: sync changelog with PR"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
paths:
|
|
- 'CHANGELOG.md'
|
|
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
permissions:
|
|
contents: write
|
|
issues: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
edit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
|
|
- name: Get PR
|
|
run: |
|
|
echo "pr_number=$(gh pr list --limit 1 --search "head:$GITHUB_REF_NAME base:$STABLE_BRANCH is:open" --json number --jq '.[] | .number')" >> $GITHUB_OUTPUT
|
|
id: get_pr
|
|
env:
|
|
STABLE_BRANCH: ${{ vars.STABLE_BRANCH }}
|
|
- name: Get target version
|
|
if: steps.get_pr.outputs.pr_number != ''
|
|
uses: misskey-dev/release-manager-actions/.github/actions/get-target-version@v2
|
|
id: v
|
|
# CHANGELOG.mdの内容を取得
|
|
- name: Get changelog
|
|
if: steps.get_pr.outputs.pr_number != ''
|
|
uses: misskey-dev/release-manager-actions/.github/actions/get-changelog@v2
|
|
with:
|
|
version: ${{ steps.v.outputs.target_version }}
|
|
id: changelog
|
|
# PRのnotesを更新
|
|
- name: Update PR
|
|
if: steps.get_pr.outputs.pr_number != ''
|
|
run: |
|
|
gh pr edit "$PR_NUMBER" --body "$CHANGELOG"
|
|
env:
|
|
PR_NUMBER: ${{ steps.get_pr.outputs.pr_number }}
|
|
CHANGELOG: ${{ steps.changelog.outputs.changelog }}
|