0340bfc90d
[skip ci]
39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
# This action:
|
|
#
|
|
# 1. Generates release notes using github API.
|
|
# 2. Strips unnecessary info like chore/style etc from notes.
|
|
# 3. Updates release info.
|
|
|
|
# This action needs to be maintained on all branches that do releases.
|
|
|
|
name: 'Release Notes'
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag_name:
|
|
description: 'Tag of release like v13.0.0'
|
|
required: true
|
|
type: string
|
|
release:
|
|
types: [released]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
regen-notes:
|
|
name: 'Regenerate release notes'
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Update notes
|
|
run: |
|
|
NEW_NOTES=$(gh api --method POST -H "Accept: application/vnd.github+json" /repos/frappe/frappe/releases/generate-notes -f tag_name=$RELEASE_TAG | jq -r '.body' | sed -E '/^\* (chore|ci|test|docs|style)/d' )
|
|
RELEASE_ID=$(gh api -H "Accept: application/vnd.github+json" /repos/frappe/frappe/releases/tags/$RELEASE_TAG | jq -r '.id')
|
|
gh api --method PATCH -H "Accept: application/vnd.github+json" /repos/frappe/frappe/releases/$RELEASE_ID -f body="$NEW_NOTES"
|
|
|
|
env:
|
|
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
|
RELEASE_TAG: ${{ github.event.inputs.tag_name || github.event.release.tag_name }}
|