summaryrefslogtreecommitdiff
path: root/.travis-script.sh
diff options
context:
space:
mode:
authorHans Ulrich Niedermann <hun@n-dimensional.de>2020-02-17 03:10:13 +0100
committerHans Ulrich Niedermann <hun@n-dimensional.de>2020-02-17 03:29:54 +0100
commit6b5887ef6a0000f8bc97487c847f37f8df32827b (patch)
tree4a4de25e1f648c20ddeeba5c18f48edfd6e4d121 /.travis-script.sh
parent2d6e5d91af58aa50a623c707c59072d3c89b9d69 (diff)
downloadlibgphoto2-6b5887ef6a0000f8bc97487c847f37f8df32827b.tar.gz
travis-ci: Move builds to separate script file
The handling of failing build steps has become too involved to put it into a single command line in a ".travis.yml". The new build script does a few things differently: * No sudo use. * Builds for and installs into separate root --prefix * Builds as out of tree builds per build The new things the new build script does: * Print config.log and the test-suite.log files if the configure or the "make check" stages have failed. * Print the version information, both short and verbose. * Print a list of the installed files. The things the new build script does NOT do: * Run "make clean" or "make uninstall" We are keeping the old script lines around for the time being. I cannot see a difference, but someone more familiar with "vusb" and "examples/sample-afl" might.
Diffstat (limited to '.travis-script.sh')
-rw-r--r--.travis-script.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/.travis-script.sh b/.travis-script.sh
new file mode 100644
index 000000000..c3a95daa8
--- /dev/null
+++ b/.travis-script.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+buildid="${1:?"need buildid"}"
+
+date
+ls -l configure
+
+shift
+
+properdir="$(pwd)"
+
+mkdir "_build-${buildid}"
+
+set -e
+set -x
+
+cd "_build-${buildid}"
+
+if ../configure --prefix="$(cd ".." && pwd)/_root-${buildid}" "$@"
+then
+ echo "Configure successful."
+else
+ s="$?"
+ echo "### BEGIN LOG: config.log ###"
+ cat config.log
+ echo "### END LOG: config.log ###"
+ exit "$?"
+fi
+
+make -j2
+
+if make check
+then
+ echo "\"make check\" successful."
+else
+ s="$?"
+ for log in libgphoto2_port/test/test-suite.log test/test-suite.log
+ do
+ echo "### BEGIN LOG: $log ###"
+ cat "$log"
+ echo "### END LOG: $log ###"
+ done
+ exit "$?"
+fi
+
+if test -f tests/print-libgphoto2-version
+then
+ tests/print-libgphoto2-version
+fi
+
+make install
+
+examples/sample-afl
+
+cd "$properdir"
+
+find "_root-${buildid}" -type f | sort
+
+# (cd "_build-${buildid}" && make uninstall clean)