From cd8998da62dfdc8531ad8b1509f4ad61caf75fd8 Mon Sep 17 00:00:00 2001 From: su-ex Date: Sat, 3 Sep 2022 22:04:10 +0200 Subject: [PATCH] Add script for changelog generation --- generate_changelog.sh | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 generate_changelog.sh diff --git a/generate_changelog.sh b/generate_changelog.sh new file mode 100755 index 0000000..3bca794 --- /dev/null +++ b/generate_changelog.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +set -e + +mydir="$(dirname "$(realpath "$0")")" + +pushd "$mydir" > /dev/null + +source ./merge_helpers.sh + +# Check branch +check_branch $branch +forall_repos check_branch $branch + +# Ensure clean git state +forall_repos check_clean_git + +# Fetch upstream +forall_repos git fetch origin > /dev/null +forall_repos git fetch upstream > /dev/null + +( + # Add new line below git log: https://unix.stackexchange.com/a/345558 + + get_latest_upstream_tag + forelement_repos git log --pretty=format:"- %s" "sc" "^$latest_upstream_tag" "^master" \ + | printf '%s\n' "$(cat)" \ + | sed "s|Merge tag '\\(.*\\)' into sc.*|Update codebase to Element \1|" \ + | sed "s|Merge tag '\\(.*\\)' into merge.*|Update codebase to Element \1|" + + get_current_mxsdk_tags + + pushd "matrix-js-sdk" > /dev/null + git log --pretty=format:"- %s" "sc" "^$current_mxjssdk_tag" "^master" \ + | printf '%s\n' "$(cat)" \ + | grep -v "Merge .*tag" + popd > /dev/null + + pushd "matrix-react-sdk" > /dev/null + git log --pretty=format:"- %s" "sc" "^$current_mxreactsdk_tag" "^master" \ + | printf '%s\n' "$(cat)" \ + | grep -v "Merge .*tag" + popd > /dev/null +) \ + | grep -v "Automatic i18n reversion" \ + | grep -v "Automatic package.json reversion" \ + | grep -v "Merge .*branch" \ + | grep -v "Automatic theme update" \ + | grep -v "Automatic package.json adjustment" \ + | grep -v "Automatic i18n adjustment" \ + | grep -v "Update version to .*-sc\\..*" \ + | grep -v "\\.sh" \ + | grep -v "\\.md" \ + | grep -v "Added translation using Weblate" \ + | grep -v "Translated using Weblate" \ + | grep -v "weblate/sc" \ + | grep -v "\\[.*merge.*\\]" \ + | awk '!seen[$0]++' `# https://stackoverflow.com/a/1444448` \ + || echo "No significant changes since the last stable release" + +popd > /dev/null