From 4fffba005d29fd04060ad2aa80ad37704081968f Mon Sep 17 00:00:00 2001 From: Felitendo Date: Thu, 24 Sep 2026 01:13:05 +0200 Subject: [PATCH] ci: take the release notes from the changelog --- .github/workflows/release.yml | 12 ++++++++++-- packaging/README.md | 10 ++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f13fa4d..6230024 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,6 +33,10 @@ jobs: - name: Check the tag against the Makefile run: packaging/check-version.sh "${{ github.ref_name }}" + - name: Check CHANGELOG.md has this release + if: startsWith(github.ref, 'refs/tags/v') + run: .github/release-notes.sh --title "${{ github.ref_name }}" + - run: packaging/build-deb.sh - name: Look inside what was built @@ -106,6 +110,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 + with: + # All tags, for the link to the changes since the last release. + fetch-depth: 0 - uses: actions/download-artifact@v8 with: @@ -117,9 +124,10 @@ jobs: env: GH_TOKEN: ${{ github.token }} run: | + .github/release-notes.sh "${{ github.ref_name }}" > notes.md gh release create "${{ github.ref_name }}" \ - --title "${{ github.ref_name }}" \ - --generate-notes \ + --title "$(.github/release-notes.sh --title "${{ github.ref_name }}")" \ + --notes-file notes.md \ incoming/*.deb incoming/*.rpm \ || gh release upload "${{ github.ref_name }}" \ incoming/*.deb incoming/*.rpm --clobber diff --git a/packaging/README.md b/packaging/README.md index f2cfecb..b8477c7 100644 --- a/packaging/README.md +++ b/packaging/README.md @@ -29,12 +29,14 @@ argument. ## Making a release 1. Bump `VERSION` in the Makefile. -2. Commit, then `git tag vX.Y.Z && git push --tags`. +2. Add the release to `CHANGELOG.md`, in the format CLAUDE.md describes. +3. Commit, then `git tag vX.Y.Z && git push --tags`. The `release` workflow builds both packages in a Debian and a Fedora container, -refuses the tag if it disagrees with the Makefile, attaches the packages to a -GitHub release, and adds them to the APT and RPM repositories on the `gh-pages` -branch. Nothing else has to be done by hand. +refuses the tag if it disagrees with the Makefile or has no changelog entry, +attaches the packages to a GitHub release with the entry as its notes, and adds +them to the APT and RPM repositories on the `gh-pages` branch. Nothing else has +to be done by hand. ## Trying the release path first