Thread (1 message) 1 message, 1 author, 2017-09-11

Re: [PATCH v1 1/2] travis-ci: move Travis CI code into dedicated scripts

From: Junio C Hamano <hidden>
Date: 2017-09-11 01:17:47
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

larsxschneider@gmail.com writes:
From: Lars Schneider <redacted>

Most of the Travis CI commands are in the '.travis.yml'. The yml format
does not support functions and therefore code duplication is necessary
to run commands across all builds.

To fix this, add a library for common CI functions. Move all Travis CI
code into dedicated scripts and make them call the library first.

Signed-off-by: Lars Schneider <redacted>
---
Thanks.  I _think_ you ended up not having to use shell function to
avoid code duplication ;-) but I find the script part of the result
much easier to understand.

Two things I noticed:

 - run-windows-build.sh did not use to run with "set -e" but now it
   does because it includes lib-travisci.sh; if (I didn't check with
   fine toothed comb) the original were not "set -e" clean, we may
   see unwanted errors in run-windows-build.sh, but that is
   sometihng we can fix going forward.

 - it seems that the test output section lost ": <- click here...";
   I do not know if there is a negative consequence of this change.

Indentation of some scripts were a bit too deep and I found it hard
to read them, so the following is what I did (but did not commit)
while reading them through.

Thanks.

 ci/install-dependencies.sh | 51 ++++++++++++++++++++++++----------------------
 ci/print-test-failures.sh  | 18 ++++++++--------
 2 files changed, 36 insertions(+), 33 deletions(-)
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 067e6eb702..a29246af35 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -5,33 +5,36 @@
 
 . ${0%/*}/lib-travisci.sh
 
+P4WHENCE=http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION
+LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION
+
 case "${TRAVIS_OS_NAME:-linux}" in
-	linux)
-		export GIT_TEST_HTTPD=YesPlease
+linux)
+	export GIT_TEST_HTTPD=YesPlease
 
-		mkdir --parents custom/p4
-		pushd custom/p4
-			wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d
-			wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4
-			chmod u+x p4d
-			chmod u+x p4
-			export PATH="$(pwd):$PATH"
-		popd
-		mkdir --parents custom/git-lfs
-		pushd custom/git-lfs
-			wget --quiet https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz
-			tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
-			cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
-			export PATH="$(pwd):$PATH"
-		popd
+	mkdir --parents custom/p4
+	pushd custom/p4
+		wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
+		wget --quiet "$P4WHENCE/bin.linux26x86_64/p4"
+		chmod u+x p4d
+		chmod u+x p4
+		export PATH="$(pwd):$PATH"
+	popd
+	mkdir --parents custom/git-lfs
+	pushd custom/git-lfs
+		wget --quiet "$LFSWHENCE/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
+		tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
+		cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
+		export PATH="$(pwd):$PATH"
+	popd
 	;;
-	osx)
-		brew update --quiet
-		# Uncomment this if you want to run perf tests:
-		# brew install gnu-time
-		brew install git-lfs gettext
-		brew link --force gettext
-		brew install caskroom/cask/perforce
+osx)
+	brew update --quiet
+	# Uncomment this if you want to run perf tests:
+	# brew install gnu-time
+	brew install git-lfs gettext
+	brew link --force gettext
+	brew install caskroom/cask/perforce
 	;;
 esac
 
diff --git a/ci/print-test-failures.sh b/ci/print-test-failures.sh
index 8583e61839..8c8973cbf3 100755
--- a/ci/print-test-failures.sh
+++ b/ci/print-test-failures.sh
@@ -6,13 +6,13 @@
 . ${0%/*}/lib-travisci.sh
 
 for TEST_EXIT in t/test-results/*.exit
-	do
-		if [ "$(cat "$TEST_EXIT")" != "0" ]
-		then
-			TEST_OUT="${TEST_EXIT%exit}out"
-			echo "------------------------------------------------------------------------"
-			echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)"
-			echo "------------------------------------------------------------------------"
-			cat "${TEST_OUT}"
-		fi
+do
+	if [ "$(cat "$TEST_EXIT")" != "0" ]
+	then
+		TEST_OUT="${TEST_EXIT%exit}out"
+		echo "------------------------------------------------------------------------"
+		echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)"
+		echo "------------------------------------------------------------------------"
+		cat "${TEST_OUT}"
+	fi
 done
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help