diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 60a083d..f5ece9c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,3 +23,17 @@ jobs: run: gem push activemail-*.gem env: GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }} + - name: Publish GitHub release + if: startsWith(github.ref, 'refs/tags/v') + env: + GH_TOKEN: ${{ github.token }} + TAG: ${{ github.ref_name }} + run: | + notes=$(awk -v v="${TAG#v}" ' + $0 ~ "^## \\[" v "\\]" {grab=1; next} + grab && /^## \[/ {exit} + grab && /^\[[^]]+\]:/ {exit} + grab {print} + ' CHANGELOG.md) + gh release create "$TAG" --title "$TAG" \ + --notes "${notes:-See [CHANGELOG.md](CHANGELOG.md).}"