name: Release Drafter

on:
  workflow_dispatch:
  pull_request_target:
    branches:
      - main
    types:
      - closed

jobs:
  update-release-drafter:
    runs-on: ubuntu-latest
    concurrency:
      group: pull-request-changelog
      cancel-in-progress: true
    steps:
      - uses: actions/checkout@v3

      - uses: release-drafter/release-drafter@v5
        id: release-drafter
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Update Changelog
        uses: docker://ghcr.io/nonebot/auto-changelog:master
        with:
          latest_changes_position: '# Change Log\n\n'
          latest_changes_title: "## 最近更新"
          replace_regex: '(?<=## 最近更新\n)[\s\S]*?(?=\n## )'
          changelog_body: ${{ steps.release-drafter.outputs.body }}
          commit_and_push: false

      - name: Commit and Push
        run: |
          git config user.name github-actions[bot]
          git config user.email github-actions[bot]@users.noreply.github.com
          git add .
          git diff-index --quiet HEAD || git commit -m ":memo: Update changelog"
          git push