summaryrefslogtreecommitdiff
path: root/.travis.sh
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 /.travis.sh
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>
Diffstat (limited to '.travis.sh')
-rw-r--r--.travis.sh45
1 files changed, 45 insertions, 0 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
+}