From 8c580ff45687ffa9e87f377398e995d01a892762 Mon Sep 17 00:00:00 2001 From: Devin Binnie <52460000+devinbinnie@users.noreply.github.com> Date: Thu, 25 May 2023 10:03:53 -0400 Subject: [PATCH] [MM-51092] Automate release post for RCs and finals, include changelog (#2733) --- .github/workflows/release.yaml | 2 +- scripts/generate_release_post.sh | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100755 scripts/generate_release_post.sh diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 44162dfc..7acd45cf 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -213,6 +213,6 @@ jobs: jq --null-input \ --arg icon_url "https://mattermost.com/wp-content/uploads/2022/02/icon.png" \ --arg username "MattermostRelease" \ - --arg text "[$(jq -r .version package.json)] Release process for the desktop app ended, the new release can be found on [GitHub](https://github.com/mattermost/desktop/releases)." \ + --arg text "$(bash -x scripts/generate_release_post.sh $(jq -r .version package.json))" \ '{"username":$username,"icon_url": $icon_url, "text": $text }' > /tmp/webhook-data.json curl -i -H "Content-Type: application/json" -X POST -d @/tmp/webhook-data.json ${{ secrets.MM_DESKTOP_RELEASE_WEBHOOK_URL }} || echo "NOFICATION FAILED! check logs as this will succeed intentionally" diff --git a/scripts/generate_release_post.sh b/scripts/generate_release_post.sh new file mode 100755 index 00000000..1e2c83c6 --- /dev/null +++ b/scripts/generate_release_post.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -eu + +VERSION="$1" # such as 5.3.0-rc.1, 5.0.0 +LAST_VERSION="$(git for-each-ref --sort=creatordate --format '%(refname)' refs/tags | grep "v[0-9]\.[0-9]\.[0-9]" | grep -v mas | tail -2 | head -1 | sed "s/refs\/tags\/v//")" + +cat <<-MD +### [v$VERSION](https://github.com/mattermost/desktop/releases/tag/v$VERSION) :tada: +Changes: +$(git cherry -v v$LAST_VERSION | grep ^+ | grep "(#[0-9]\+)" | sed "s/^+\s[a-zA-Z0-9]\+\s/- /" | sed "s/\s(#\([0-9]\+\))$/ [(#\1)](https:\/\/github.com\/mattermost\/desktop\/pull\/\1)/" | sed "s/\[\?MM-\([0-9]\+\)\]\?/[[MM-\1]](https:\/\/mattermost.atlassian.net\/browse\/MM-\1)/") + +The release will be available on GitHub shortly. +MD