git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 3/8] travis-ci: move setting environment variables to 'ci/lib-travisci.sh'

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Dec 16, 2017, 12:57 UTC
Message-ID
<20171216125702.10901-1-szeder.dev@gmail.com>
In-Reply-To
<20171216125418.10743-2-szeder.dev@gmail.com>

Our '.travis.yml's 'env.global' section sets a bunch of environment variables for all build jobs, though none of them actually affects all build jobs. It's convenient for us, and in most cases it works just fine, because irrelevant environment variables are simply ignored.

However, $GIT_SKIP_TESTS is an exception: it tells the test harness to skip the two test scripts that are prone to occasional failures on OSX, but as it's set for all build jobs those tests are not run in any of the build jobs that are capable to run them reliably, either.

Therefore $GIT_SKIP_TESTS should only be set in the OSX build jobs, but those build jobs are included in the build matrix implicitly (i.e. by combining the matrix keys 'os' and 'compiler'), and there is no way to set an environment variable only for a subset of those implicit build jobs. (Unless we were to add new scriptlets to '.travis.yml', which is exactly the opposite direction that we took with commit 657343a60 (travis-ci: move Travis CI code into dedicated scripts, 2017-09-10)).

So move setting $GIT_SKIP_TESTS to 'ci/lib-travisci.sh', where it can trivially be set only for the OSX build jobs.

Furthermore, move setting all other environment variables from '.travis.yml' to 'ci/lib-travisci.sh', too, because a couple of environment variables are already set there, and this way all environment variables will be set in the same place. All the logic controlling our builds is already in the 'ci/*' scripts anyway, so there is really no good reason to keep the environment variables separately.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
 .travis.yml        | 18 +-----------------
 ci/lib-travisci.sh | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 88435e11c..7c9aa0557 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,25 +21,9 @@ addons:
     - git-svn
     - apache2
 
-env:
-  global:
-    - DEVELOPER=1
-    # The Linux build installs the defined dependency versions below.
-    # The OS X build installs the latest available versions. Keep that
-    # in mind when you encounter a broken OS X build!
-    - LINUX_P4_VERSION="16.2"
-    - LINUX_GIT_LFS_VERSION="1.5.2"
-    - DEFAULT_TEST_TARGET=prove
-    - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
-    - GIT_TEST_OPTS="--verbose-log"
-    - GIT_TEST_CLONE_2GB=YesPlease
-    # t9810 occasionally fails on Travis CI OS X
-    # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
-    - GIT_SKIP_TESTS="t9810 t9816"
-
 matrix:
   include:
-    - env: jobname=GETTEXT_POISON GETTEXT_POSION=YesPlease
+    - env: jobname=GETTEXT_POISON
       os: linux
       compiler:
       addons:
diff --git a/ci/lib-travisci.sh b/ci/lib-travisci.sh
index 4b3c5fdd0..c5c5cb1bf 100755
--- a/ci/lib-travisci.sh
+++ b/ci/lib-travisci.sh
@@ -34,10 +34,31 @@ then
 	jobname="$TRAVIS_OS_NAME-$CC"
 fi
 
+export DEVELOPER=1
+export DEFAULT_TEST_TARGET=prove
+export GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
+export GIT_TEST_OPTS="--verbose-log"
+export GIT_TEST_CLONE_2GB=YesPlease
+
 case "$jobname" in
 linux-clang|linux-gcc)
+	# The Linux build installs the defined dependency versions below.
+	# The OS X build installs the latest available versions. Keep that
+	# in mind when you encounter a broken OS X build!
+	export LINUX_P4_VERSION="16.2"
+	export LINUX_GIT_LFS_VERSION="1.5.2"
+
 	P4_PATH="$(pwd)/custom/p4"
 	GIT_LFS_PATH="$(pwd)/custom/git-lfs"
 	export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
 	;;
+osx-clang|osx-gcc)
+	# t9810 occasionally fails on Travis CI OS X
+	# t9816 occasionally fails with "TAP out of sequence errors" on
+	# Travis CI OS X
+	export GIT_SKIP_TESTS="t9810 t9816"
+	;;
+GETTEXT_POISON)
+	export GETTEXT_POISON=YesPlease
+	;;
 esac
-- 
2.15.1.429.ga000dd9c7
Previous: SZEDER GáborNext: SZEDER Gábor
Message 17 of 44 in “travis-ci: fix running P4 and Git LFS tests in Linux build jobs”
  1. travis-ci: fix running P4 and Git LFS tests in Linux build jobsSZEDER Gábor, Nov 1, 2017
  2. 0/4 travis-ci: clean up setting environment variablesSZEDER Gábor, Dec 11, 2017
  3. 1/4 travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing outputSZEDER Gábor, Dec 11, 2017
  4. Lars SchneiderDec 12, 2017
  5. SZEDER GáborDec 12, 2017
  6. Lars SchneiderDec 13, 2017
  7. SZEDER GáborDec 14, 2017
  8. Johannes SchindelinDec 15, 2017
  9. SZEDER GáborDec 15, 2017
  10. Johannes SchindelinDec 15, 2017
  11. 2/4 travis-ci: introduce a $jobname variable for 'ci/*' scriptsSZEDER Gábor, Dec 11, 2017
  12. 3/4 travis-ci: move setting environment variables to 'ci/lib-travisci.sh'SZEDER Gábor, Dec 11, 2017
  13. 4/4 travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'SZEDER Gábor, Dec 11, 2017
  14. 0/8 Travis CI cleanupsSZEDER Gábor, Dec 16, 2017
  15. 1/8 travis-ci: use 'set -x' in select 'ci/*' scripts for extra tracingSZEDER Gábor, Dec 16, 2017
  16. 2/8 travis-ci: introduce a $jobname variable for 'ci/*' scriptsSZEDER Gábor, Dec 16, 2017
  17. 3/8 travis-ci: move setting environment variables to 'ci/lib-travisci.sh'SZEDER Gábor, Dec 16, 2017
  18. 4/8 travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'SZEDER Gábor, Dec 16, 2017
  19. 5/8 travis-ci: don't install default addon packages for the 32 bit Linux buildSZEDER Gábor, Dec 16, 2017
  20. 6/8 travis-ci: don't install 'language-pack-is' packageSZEDER Gábor, Dec 16, 2017
  21. Lars SchneiderDec 18, 2017
  22. SZEDER GáborDec 18, 2017
  23. Lars SchneiderDec 18, 2017
  24. Junio C HamanoDec 18, 2017
  25. SZEDER GáborDec 19, 2017
  26. 7/8 travis-ci: save prove state for the 32 bit Linux buildSZEDER Gábor, Dec 16, 2017
  27. 8/8 travis-ci: only print test failures if there are test results availableSZEDER Gábor, Dec 16, 2017
  28. Eric SunshineDec 16, 2017
  29. SZEDER GáborDec 16, 2017
  30. Eric SunshineDec 17, 2017
  31. Johannes SchindelinDec 16, 2017
  32. Lars SchneiderDec 18, 2017
  33. Lars SchneiderDec 18, 2017
  34. 0/4 Rest of the Travis CI fixesSZEDER Gábor, Dec 27, 2017
  35. 1/4 travis-ci: fine tune the use of 'set -x' in 'ci/*' scriptsSZEDER Gábor, Dec 27, 2017
  36. Lars SchneiderDec 27, 2017
  37. 2/4 travis-ci: don't install default addon packages for the 32 bit Linux buildSZEDER Gábor, Dec 27, 2017
  38. Lars SchneiderDec 27, 2017
  39. 3/4 travis-ci: save prove state for the 32 bit Linux buildSZEDER Gábor, Dec 27, 2017
  40. Lars SchneiderDec 27, 2017
  41. SZEDER GáborDec 27, 2017
  42. Lars SchneiderDec 28, 2017
  43. 4/4 travis-ci: only print test failures if there are test results availableSZEDER Gábor, Dec 27, 2017
  44. Lars SchneiderDec 27, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.