diff options
author | SZEDER Gábor <szeder.dev@gmail.com> | 2017-12-31 17:02:06 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-01-03 13:29:19 -0800 |
commit | b92cb86ea1494c4dfbce28b29f05632ab9f3b179 (patch) | |
tree | b7134e6c545bce600b2f04395152ff71001759e1 /ci | |
parent | travis-ci: don't store P4 and Git LFS in the working tree (diff) | |
download | tgif-b92cb86ea1494c4dfbce28b29f05632ab9f3b179.tar.xz |
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>
Diffstat (limited to 'ci')
-rwxr-xr-x | ci/lib-travisci.sh | 10 | ||||
-rwxr-xr-x | ci/run-linux32-docker.sh | 2 | ||||
-rwxr-xr-x | ci/run-tests.sh | 2 | ||||
-rwxr-xr-x | ci/test-documentation.sh | 6 |
4 files changed, 20 insertions, 0 deletions
diff --git a/ci/lib-travisci.sh b/ci/lib-travisci.sh index 1543b7959f..07f27c7270 100755 --- a/ci/lib-travisci.sh +++ b/ci/lib-travisci.sh @@ -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 diff --git a/ci/run-linux32-docker.sh b/ci/run-linux32-docker.sh index 870a412463..4f191c5bb1 100755 --- a/ci/run-linux32-docker.sh +++ b/ci/run-linux32-docker.sh @@ -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 diff --git a/ci/run-tests.sh b/ci/run-tests.sh index eb5ba4058a..22355f0091 100755 --- a/ci/run-tests.sh +++ b/ci/run-tests.sh @@ -8,4 +8,6 @@ ln -s $HOME/travis-cache/.prove t/.prove make --quiet test +check_unignored_build_artifacts + save_good_tree diff --git a/ci/test-documentation.sh b/ci/test-documentation.sh index 3d62e6c953..a20de9ca12 100755 --- a/ci/test-documentation.sh +++ b/ci/test-documentation.sh @@ -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 |