summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marie Lemetayer <jeanmarie.lemetayer@gmail.com>2015-10-03 12:11:29 (GMT)
committerJean-Marie Lemetayer <jeanmarie.lemetayer@gmail.com>2015-10-03 12:23:58 (GMT)
commit6fac453afd4a33d608deb56528b7d48b123bd13f (patch)
treec88ae78c7fe13899ab9c63dec7664f4977431804
parentb565e949d4d9eb695d026a963aa537f0d0992291 (diff)
Manage travis-ci build in an external script
This allows to: * override configuration * deal with travis-ci timing restrictions Signed-off-by: Jean-Marie Lemetayer <jeanmarie.lemetayer@gmail.com>
-rw-r--r--.travis.sh45
-rw-r--r--.travis.yml5
2 files changed, 48 insertions, 2 deletions
diff --git a/.travis.sh b/.travis.sh
new file mode 100644
index 0000000..90a439b
--- /dev/null
+++ b/.travis.sh
@@ -0,0 +1,45 @@
+# Add current directory to PATH
+export PATH="$(pwd):$PATH"
+
+# Manage the travis build
+ct-ng_travis_build()
+{
+ # Override the log behaviour
+ sed -i -e 's/^.*\(CT_LOG_ERROR\).*$/# \1 is not set/' \
+ -e 's/^.*\(CT_LOG_WARN\).*$/# \1 is not set/' \
+ -e 's/^.*\(CT_LOG_INFO\).*$/# \1 is not set/' \
+ -e 's/^.*\(CT_LOG_EXTRA\).*$/\1=y/' \
+ -e 's/^.*\(CT_LOG_ALL\).*$/# \1 is not set/' \
+ -e 's/^.*\(CT_LOG_DEBUG\).*$/# \1 is not set/' \
+ -e 's/^.*\(CT_LOG_LEVEL_MAX\).*$/\1="EXTRA"/' \
+ -e 's/^.*\(CT_LOG_PROGRESS_BAR\).*$/# \1 is not set/' \
+ -e 's/^.*\(CT_LOCAL_TARBALLS_DIR\).*$/\1="${HOME}\/src"/' \
+ -e 's/^.*\(CT_SAVE_TARBALLS\).*$/\1=y/' \
+ .config
+
+ # Build the sample
+ ct-ng build.2 &
+ local build_pid=$!
+
+ # Start a runner task to print a "still running" line every 5 minutes
+ # to avoid travis to think that the build is stuck
+ {
+ while true
+ do
+ sleep 300
+ printf "Crosstool-NG is still running ...\r"
+ done
+ } &
+ local runner_pid=$!
+
+ # Wait for the build to finish and get the result
+ wait $build_pid 2>/dev/null
+ local result=$?
+
+ # Stop the runner task
+ kill $runner_pid
+ wait $runner_pid 2>/dev/null
+
+ # Return the result
+ return $result
+}
diff --git a/.travis.yml b/.travis.yml
index 93765c7..927d9bc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -42,8 +42,9 @@ env:
# Building the standard samples
script:
- - ./ct-ng $CT_SAMPLE
- - CT_LOG_DEBUG=y CT_LOG_LEVEL_MAX="DEBUG" ./ct-ng build.2
+ - . ./.travis.sh # Load the travis environment
+ - ct-ng $CT_SAMPLE # Configure the build
+ - ct-ng_travis_build # Build the sample
# On failure displaying the last lines of the log file
after_failure: