Check the changelog number in check-newsfragment (#7623)

This commit is contained in:
Richard van der Hoff 2020-06-03 17:01:43 +01:00 committed by GitHub
parent 0188daf32c
commit 86d814cdde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 4 deletions

1
changelog.d/7623.misc Normal file
View File

@ -0,0 +1 @@
Update CI scripts to check the number in the newsfile fragment.

View File

@ -7,7 +7,9 @@ set -e
# make sure that origin/develop is up to date # make sure that origin/develop is up to date
git remote set-branches --add origin develop git remote set-branches --add origin develop
git fetch origin develop git fetch -q origin develop
pr="$BUILDKITE_PULL_REQUEST"
# if there are changes in the debian directory, check that the debian changelog # if there are changes in the debian directory, check that the debian changelog
# has been updated # has been updated
@ -20,20 +22,30 @@ fi
# if there are changes *outside* the debian directory, check that the # if there are changes *outside* the debian directory, check that the
# newsfragments have been updated. # newsfragments have been updated.
if git diff --name-only FETCH_HEAD... | grep -qv '^debian/'; then if ! git diff --name-only FETCH_HEAD... | grep -qv '^debian/'; then
tox -e check-newsfragment exit 0
fi fi
tox -qe check-newsfragment
echo echo
echo "--------------------------" echo "--------------------------"
echo echo
# check that any new newsfiles on this branch end with a full stop. matched=0
for f in `git diff --name-only FETCH_HEAD... -- changelog.d`; do for f in `git diff --name-only FETCH_HEAD... -- changelog.d`; do
# check that any modified newsfiles on this branch end with a full stop.
lastchar=`tr -d '\n' < $f | tail -c 1` lastchar=`tr -d '\n' < $f | tail -c 1`
if [ $lastchar != '.' -a $lastchar != '!' ]; then if [ $lastchar != '.' -a $lastchar != '!' ]; then
echo -e "\e[31mERROR: newsfragment $f does not end with a '.' or '!'\e[39m" >&2 echo -e "\e[31mERROR: newsfragment $f does not end with a '.' or '!'\e[39m" >&2
exit 1 exit 1
fi fi
# see if this newsfile corresponds to the right PR
[[ -n "$pr" && "$f" == changelog.d/"$pr".* ]] && matched=1
done done
if [[ -n "$pr" && "$matched" -eq 0 ]]; then
echo -e "\e[31mERROR: Did not find a news fragment with the right number: expected changelog.d/$pr.*.\e[39m" >&2
exit 1
fi