Automatically update draft releases when PRs are merged. Maintain a cumulative changelog with smart versioning and automatic tagging.
Focus on code, not changelog maintenance
Automatically appends PR entries to existing draft releases, building your release notes incrementally.
Tags merge commits with version numbers and associates them with the correct draft release.
Groups all v1.2.x changes under a single v1.2 draft release for easy management.
Generates comparison URLs between versions automatically for easy code review.
Safe to run multiple times. Skips existing tags and gracefully handles edge cases.
Override PR details, skip tagging, or customize behavior for your specific workflow.
Add to your workflow in minutes
name: Update Draft Release
on:
pull_request:
types: [closed]
branches: [dev, main]
jobs:
release:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get version
id: version
run: |
# Your versioning logic here
echo "future-version=1.2.3" >> $GITHUB_OUTPUT
echo "stable-version=1.2.0" >> $GITHUB_OUTPUT
- name: Update draft release
uses: starburst997/draft-release@v1
with:
future-version: ${{ steps.version.outputs.future-version }}
stable-version: ${{ steps.version.outputs.stable-version }}
Complete action inputs and outputs