Skip to content

✅ Task: Setup Release Drafter for automated release notes #9

@al-onyxprotocol

Description

@al-onyxprotocol

Summary

Configure Release Drafter to automatically generate release notes from merged PRs and linked issues.

Details

We want to enable Release Drafter to keep draft release notes up to date.
Each merged PR should appear in the draft grouped by labels, and linked issues (via Closes #123) should also be included.
This will speed up and standardize the release process.

Checklist

  • Create .github/release-drafter.yml config
  • Define categories for features, bug fixes, and maintenance
  • Add workflow .github/workflows/release-drafter.yml using release-drafter/release-drafter@v6
  • Test PR merge to confirm draft release updates automatically
  • Verify that linked issues appear when PR uses Closes #123

Notes

Verification

  • Merge a test PR with Closes #123
  • Ensure the draft release is updated automatically
  • Confirm PR appears under the correct category
  • Confirm linked issue is listed in the release notes

Proposed technical implementation

Configurations below are for reference, you can update them.

Add a configuration file for Release Drafter:

.github/release-drafter.yml

name-template: "v$NEXT_PATCH_VERSION"
tag-template: "v$NEXT_PATCH_VERSION"

categories:
  - title: "✨ Features"
    labels: ["feature", "enhancement", "feat"]
  - title: "🐞 Bug fixes"
    labels: ["bug", "fix"]
  - title: "🧰 Maintenance"
    labels: ["chore", "refactor", "docs"]
  - title: "💥 Breaking changes"
    labels: ["breaking"]

exclude-labels:
  - "wip"
  - "skip-release"

change-template: "- $TITLE (#$PR) by @$AUTHOR"
change-title-escapes: '\<*_&'

template: |
  ## Changes
  $CHANGES

  ## Linked issues
  $ISSUES

Add GitHub Actions workflow to update draft release notes automatically:

.github/workflows/release-drafter.yml

name: Release Drafter
on:
  push:
    branches: [ master, main ]
  pull_request:
    types: [closed]
jobs:
  update_release_draft:
    runs-on: ubuntu-latest
    steps:
      - uses: release-drafter/release-drafter@v6
        with:
          config-name: release-drafter.yml
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Metadata

Metadata

Assignees

Labels

AutomationAutomated scripts, GitHub Actions, workflows, or task runnersCommunityTasks, feedback, or contributions from the communityGuidelineBest practices, coding standards, contribution rulesdocumentationImprovements or additions to documentation

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions