mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-30 01:08:06 +00:00
27 lines
892 B
Bash
Executable File
27 lines
892 B
Bash
Executable File
#!/bin/sh
|
|
msg=$(git stripspace --strip-comments <"$1")
|
|
|
|
abort() {
|
|
echo
|
|
echo "Aborting commit."
|
|
echo "$1"
|
|
echo "$2"
|
|
echo
|
|
echo "If you're sure you want to keep it, run git commit with the --no-verify flag."
|
|
echo
|
|
exit 1
|
|
}
|
|
|
|
if printf '%s\n' "$msg" |
|
|
grep -Eiq '(closes|fixes|resolves|fixed|closed|resolved):?[[:space:]]+#[0-9]+'; then
|
|
abort "The commit message contains an issue closing keyword (closes, fixes, resolves, ...)." \
|
|
"Put it in the pull request description instead, otherwise CI fails."
|
|
fi
|
|
|
|
# A 'BREAKING CHANGE' footer makes semantic-release publish a major version,
|
|
# see .releaserc.json.
|
|
if printf '%s\n' "$msg" | grep -Eiq '^[[:space:]*]*BREAKING[ -]CHANGE[:[:space:]]'; then
|
|
abort "The commit message contains a 'BREAKING CHANGE:' footer." \
|
|
"This triggers a major release, which we prepare deliberately, see docs/development/major-release.md."
|
|
fi
|