CI: Refine the build matrix scripts.
authorDenis Ovsienko <denis@ovsienko.info>
Thu, 18 Mar 2021 13:11:06 +0000 (13:11 +0000)
committerDenis Ovsienko <denis@ovsienko.info>
Thu, 18 Mar 2021 13:11:06 +0000 (13:11 +0000)
If not provided with a pre-arranged prefix path, make a temporary one
and remove it when done. Between the rounds delete the contents of the
prefix directory, but not the directory. Quote the prefix variable
properly. Print OS and compiler versions at the beginning. Do not cat
Makefile twice in the Travis CI block.

.travis.yml
build.sh
build_matrix.sh

index f39dbac2d3d5769a4839277e8c5216cba4697fa9..46ea518cea74464843bf99b6d20d63041765c0d7 100644 (file)
@@ -30,7 +30,5 @@ addons:
       - libosip2-dev # Enables even more code when libnids-dev is installed.
 
 script:
-  - uname -a
-  - date
   - apt list --installed 'lib*-dev'
   - ./build_matrix.sh
index 09e056ddc156828c1c521c210b425396c817e20a..774b5d52306814bdf3c28f1e7c887cb1e8d59360 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -7,8 +7,13 @@ set -e
 
 # CC: gcc or clang
 CC=${CC:-gcc}
+"$CC" --version
 # Install directory prefix
-PREFIX=/tmp/local
+if [ -z "$PREFIX" ]; then
+    PREFIX=$(mktemp -d -t tcpslice_build_XXXXXXXX)
+    echo "PREFIX set to '$PREFIX'"
+    DELETE_PREFIX=yes
+fi
 
 travis_fold() {
     local action="$1"
@@ -29,7 +34,7 @@ run_after_echo() {
 LABEL="$CC"
 echo '$ ./configure [...]'
 travis_fold start configure
-./configure --prefix=$PREFIX
+./configure --prefix="$PREFIX"
 travis_fold end configure
 run_after_echo "make -s clean"
 run_after_echo "make"
@@ -46,7 +51,6 @@ if [ "$TRAVIS" = true ]; then
     echo '$ cat Makefile [...]'
     travis_fold start cat_makefile
     sed -n '1,/DO NOT DELETE THIS LINE -- mkdep uses it/p' < Makefile
-    cat Makefile
     travis_fold end cat_makefile
     echo '$ cat config.h'
     travis_fold start cat_config_h
@@ -57,4 +61,7 @@ if [ "$TRAVIS" = true ]; then
     cat config.log
     travis_fold end cat_config_log
 fi
+if [ "$DELETE_PREFIX" = yes ]; then
+    rm -rf "$PREFIX"
+fi
 # vi: set tabstop=4 softtabstop=0 expandtab shiftwidth=4 smarttab autoindent :
index fd83b917e74cc95a0eb6c5d6804523f6e4eeeba5..c81b95d47970fd9c68cbeda00eac45df95a612d7 100755 (executable)
@@ -11,8 +11,14 @@ set -e
 # ANSI color escape sequences
 ANSI_MAGENTA="\\033[35;1m"
 ANSI_RESET="\\033[0m"
+uname -a
+date
 # Install directory prefix
-PREFIX=/tmp/local
+if [ -z "$PREFIX" ]; then
+    PREFIX=$(mktemp -d -t tcpslice_build_matrix_XXXXXXXX)
+    echo "PREFIX set to '$PREFIX'"
+    export PREFIX
+fi
 COUNT=0
 
 travis_fold() {
@@ -44,11 +50,12 @@ for CC in ${MATRIX_CC:-gcc clang}; do
     echo 'Cleaning...'
     travis_fold start cleaning
     make distclean
-    rm -rf $PREFIX
+    rm -rf "$PREFIX"/*
     git status -suall
     # Cancel changes in configure
     git checkout configure
     travis_fold end cleaning
 done
+rm -rf "$PREFIX"
 echo_magenta "Tested setup count: $COUNT"
 # vi: set tabstop=4 softtabstop=0 expandtab shiftwidth=4 smarttab autoindent :