1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-23 07:58:09 +00:00
trezor-firmware/ci/check_release_commit_messages.sh
Tomas Susanka 1f90a13372 ci: change [NO MASTER] to [RELEASE ONLY] in release check
To make it the same as in Suite.
2020-11-05 19:11:10 +01:00

34 lines
971 B
Bash
Executable File

#!/usr/bin/env bash
fail=0
git fetch origin master
# list all commits between HEAD and master
for commit in $(git rev-list origin/master..)
do
message=$(git log -n1 --format=%B $commit)
echo "Checking $commit"
# The commit message must contain either
# 1. "cherry-picked from [some commit in master]"
if [[ $message =~ "(cherry picked from commit" ]]; then
# remove last ")" and extract commit hash
master_commit=$(echo ${message:0:-1} | tr ' ' '\n' | tail -1)
# check if master really contains this commit hash
if [[ $(git branch -a --contains $master_commit | grep --only-matching "remotes/origin/master") == "remotes/origin/master" ]]; then
continue
fi
fi
# 2. [RELEASE ONLY] substring
if [[ $message =~ "[RELEASE ONLY]" ]]; then
continue
fi
fail=1
echo "FAILURE! Neither 'cherry picked from..' nor '[RELEASE ONLY]' substring found in this commit message."
done
exit $fail