Skip to content

Update release.yml

Update release.yml #4

Workflow file for this run

name: Publish GitHub Release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+*'
permissions:
contents: write
jobs:
release:
name: Create GitHub Release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Extract tag name
id: tag
run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Generate release notes
id: release_notes
run: |
echo "## Changes in $TAG_NAME" > RELEASE_NOTES.md
echo "" >> RELEASE_NOTES.md
git log --pretty=format:"- %s" $(git describe --tags --abbrev=0 @^)..@ >> RELEASE_NOTES.md
- name: Update CHANGELOG.md
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
echo "## $TAG_NAME - $(date +'%Y-%m-%d')" >> CHANGELOG.md
echo "" >> CHANGELOG.md
cat RELEASE_NOTES.md >> CHANGELOG.md
echo "" >> CHANGELOG.md
git add CHANGELOG.md
git commit -m "chore: update CHANGELOG.md for $TAG_NAME"
git push origin main
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.TAG_NAME }}
name: Release ${{ env.TAG_NAME }}
body_path: RELEASE_NOTES.md
files: CHANGELOG.md
draft: false
prerelease: false