Browse Source

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>
1.22
Jean-Marie Lemetayer 7 years ago
parent
commit
6fac453afd
  1. 45
      .travis.sh
  2. 5
      .travis.yml

45
.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
}

5
.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:

Loading…
Cancel
Save