diff options
author | Jean-Marie Lemetayer <jeanmarie.lemetayer@gmail.com> | 2015-10-03 14:11:29 +0200 |
---|---|---|
committer | Jean-Marie Lemetayer <jeanmarie.lemetayer@gmail.com> | 2015-10-03 14:23:58 +0200 |
commit | 6fac453afd4a33d608deb56528b7d48b123bd13f (patch) | |
tree | c88ae78c7fe13899ab9c63dec7664f4977431804 | |
parent | b565e949d4d9eb695d026a963aa537f0d0992291 (diff) | |
download | crosstool-ng-6fac453afd4a33d608deb56528b7d48b123bd13f.tar.gz crosstool-ng-6fac453afd4a33d608deb56528b7d48b123bd13f.tar.bz2 crosstool-ng-6fac453afd4a33d608deb56528b7d48b123bd13f.zip |
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.sh | 45 | ||||
-rw-r--r-- | .travis.yml | 5 |
2 files changed, 48 insertions, 2 deletions
diff --git a/.travis.sh b/.travis.sh new file mode 100644 index 00000000..90a439b3 --- /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 93765c71..927d9bc6 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: |