My presentation on Release Drafter - a changelog a...
# developer-productivity-engineering
o
My presentation on Release Drafter - a changelog automation tool and GitHub Action we use in some Gradle projects, and in other communities like Jenkins and WireMock. If any of Gradle maintainers are interested, happy to work together on a shared template for Gradle plugins! https://speakerdeck.com/onenashev/automate-your-changelogs-release-drafter
💯 1
t
A quick question, to which I didn't find the answer on the slides, nor in README.md (quick skim), how does this compare to GitHub's build-in support for the same thing? What's the rationale? (The closest answer was probably the xkcd 927 slide.) [I guess historically this existed first?]
o
Good question. GitHub actually adapted one of the initial concepts to have a very simple generation on its side. IIRC the first prototype has even used the release drafter code :) Ky differences, unless new features were added to GitHub: • No support for label categorization • No automatic release draft generation, just on-demand one • No String replacement • No implicit auto-labeling when no label is missing • No support for skipping a pull request
t
Nice, makes sense. Feels like this should be in the readme for users to make an informed decision whether to use built-in or release-drafter.
Re automatic:
gh release create 1.0.0 --draft --generate-notes
(see gh docs) on
push: branches: main
will do the job.
👍 1
o
Indeed, such automation works and can be added to your Pipeline. For projects without continuous delivery, personally I prefer having the GitHub release as a pipeline trigger though 1. Integrate things 2. Open GitHub Releases and the changelog draft by the release drafter 3. Copy-edit the changelog 4. Click "Publish Release" Obviously, it works if and only if your release pipeline is fast Example - https://github.com/wiremock/wiremock-testcontainers-java/blob/main/.github/workflows/release.yml