travis-ci: check that all build artifacts are .gitignore-d
Every once in a while our explicit .gitignore files get out of sync when our build process learns to create new artifacts, like test helper executables, but the .gitignore files are not updated accordingly. Use Travis CI to help catch such issues earlier: check that there are no untracked files at the end of any build jobs building Git (i.e. the 64 bit Clang and GCC Linux and OSX build jobs, plus the GETTEXT_POISON and 32 bit Linux build jobs) or its documentation, and fail the build job if there are any present. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
88e00b7033
commit
b92cb86ea1
@ -67,6 +67,16 @@ skip_good_tree () {
|
||||
exit 0
|
||||
}
|
||||
|
||||
check_unignored_build_artifacts ()
|
||||
{
|
||||
! git ls-files --other --exclude-standard --error-unmatch \
|
||||
-- ':/*' 2>/dev/null ||
|
||||
{
|
||||
echo "$(tput setaf 1)error: found unignored build artifacts$(tput sgr0)"
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
# Set 'exit on error' for all CI scripts to let the caller know that
|
||||
# something went wrong.
|
||||
# Set tracing executed commands, primarily setting environment variables
|
||||
|
@ -23,4 +23,6 @@ docker run \
|
||||
daald/ubuntu32:xenial \
|
||||
/usr/src/git/ci/run-linux32-build.sh $(id -u $USER)
|
||||
|
||||
check_unignored_build_artifacts
|
||||
|
||||
save_good_tree
|
||||
|
@ -8,4 +8,6 @@
|
||||
ln -s $HOME/travis-cache/.prove t/.prove
|
||||
make --quiet test
|
||||
|
||||
check_unignored_build_artifacts
|
||||
|
||||
save_good_tree
|
||||
|
@ -18,6 +18,9 @@ test -s Documentation/git.xml
|
||||
test -s Documentation/git.1
|
||||
grep '<meta name="generator" content="AsciiDoc ' Documentation/git.html
|
||||
|
||||
rm -f stdout.log stderr.log
|
||||
check_unignored_build_artifacts
|
||||
|
||||
# Build docs with AsciiDoctor
|
||||
make clean
|
||||
make --jobs=2 USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.log >&2)
|
||||
@ -26,4 +29,7 @@ sed '/^GIT_VERSION = / d' stderr.log
|
||||
test -s Documentation/git.html
|
||||
grep '<meta name="generator" content="Asciidoctor ' Documentation/git.html
|
||||
|
||||
rm -f stdout.log stderr.log
|
||||
check_unignored_build_artifacts
|
||||
|
||||
save_good_tree
|
||||
|
Loading…
Reference in New Issue
Block a user