File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3131 permissions : { contents: write, id-token: write, attestations: write }
3232 steps :
3333 - uses : actions/checkout@v7
34+ - name : Release notes from the tag message
35+ run : |
36+ git fetch --force origin "refs/tags/${GITHUB_REF_NAME}:refs/tags/${GITHUB_REF_NAME}"
37+ git tag -l --format='%(contents:body)' "${GITHUB_REF_NAME}" > "${RUNNER_TEMP}/notes.md"
38+ test -s "${RUNNER_TEMP}/notes.md" || {
39+ echo "tag ${GITHUB_REF_NAME} carries no message body to release with" >&2
40+ exit 1
41+ }
3442 - uses : actions/download-artifact@v8
3543 with : { path: dist, merge-multiple: true }
3644 - name : Checksums
4351 with :
4452 working_directory : dist
4553 files : " envctl-*\n SHA256SUMS"
54+ body_path : ${{ runner.temp }}/notes.md
4655 generate_release_notes : true
4756 fail_on_unmatched_files : true
Original file line number Diff line number Diff line change @@ -141,6 +141,11 @@ git tag -s v0.2.0 -m "v0.2.0"
141141git push origin v0.2.0
142142```
143143
144+ The tag's message body becomes the release notes, with the generated commit list
145+ appended below it, so write the tag for a reader who was not here. The first
146+ line is the version alone; everything after the blank line is published. An
147+ empty body fails the release job rather than shipping a bare commit list.
148+
144149[ `.dprint.jsonc` ] : .dprint.jsonc
145150[ `.clang-format` ] : .clang-format
146151[ `tests/run.sh` ] : tests/run.sh
You can’t perform that action at this time.
0 commit comments