mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
Timeout Travis builds to save cache in time (#6488)
This commit is contained in:
parent
2af9c40882
commit
10c212289e
@ -13,5 +13,4 @@
|
||||
# #
|
||||
###########################################################################
|
||||
|
||||
|
||||
#pip3 install termcolor
|
||||
|
@ -19,13 +19,14 @@ pushd .docker
|
||||
|
||||
echo "travis_fold:start:travis_env"
|
||||
echo "${bold}${endbold}"
|
||||
echo "TRAVIS_BRANCH $TRAVIS_BRANCH"
|
||||
echo "TRAVIS_EVENT_TYPE $TRAVIS_EVENT_TYPE"
|
||||
echo "DOCKER_TAG $DOCKER_TAG"
|
||||
echo "DOCKER_DEPS_PUSH $DOCKER_DEPS_PUSH"
|
||||
echo "DOCKER_DEPS_IMAGE_REBUILD $DOCKER_DEPS_IMAGE_REBUILD"
|
||||
echo "DOCKER_QGIS_IMAGE_BUILD_PUSH $DOCKER_QGIS_IMAGE_BUILD_PUSH"
|
||||
echo "QGIS_LAST_BUILD_SUCCESS $QGIS_LAST_BUILD_SUCCESS"
|
||||
echo "TRAVIS_BRANCH: $TRAVIS_BRANCH"
|
||||
echo "TRAVIS_EVENT_TYPE: $TRAVIS_EVENT_TYPE"
|
||||
echo "DOCKER_TAG: $DOCKER_TAG"
|
||||
echo "DOCKER_DEPS_PUSH: $DOCKER_DEPS_PUSH"
|
||||
echo "DOCKER_DEPS_IMAGE_REBUILD: $DOCKER_DEPS_IMAGE_REBUILD"
|
||||
echo "DOCKER_QGIS_IMAGE_BUILD_PUSH: $DOCKER_QGIS_IMAGE_BUILD_PUSH"
|
||||
echo "QGIS_LAST_BUILD_SUCCESS: $QGIS_LAST_BUILD_SUCCESS"
|
||||
echo "TRAVIS_TIMESTAMP: $TRAVIS_TIMESTAMP"
|
||||
echo "travis_fold:end:travis_env"
|
||||
|
||||
|
||||
|
@ -59,11 +59,31 @@ echo "travis_fold:end:cmake"
|
||||
#######
|
||||
# Build
|
||||
#######
|
||||
# Calculate the timeout for building.
|
||||
# The tests should be aborted before travis times out, in order to allow uploading
|
||||
# the ccache and therefore speedup subsequent e builds.
|
||||
#
|
||||
# Travis will kill the job after approx 90 minutes, we subtract 8 minutes for
|
||||
# uploading and subtract the bootstrapping time from that.
|
||||
# Hopefully clocks are in sync :)
|
||||
TRAVIS_TIME=90
|
||||
UPLOAD_TIME=8
|
||||
CURRENT_TIME=`date +%s`
|
||||
TIMEOUT=$(expr \( ${TRAVIS_TIME} - ${UPLOAD_TIME} \) \* 60 - ${CURRENT_TIME} + ${TRAVIS_TIMESTAMP})
|
||||
TIMEOUT=$(( ${TIMEOUT} < 300 ? 300 : ${TIMEOUT} ))
|
||||
echo "Timeout: ${TIMEOUT}s (started at ${TRAVIS_TIMESTAMP}, current: ${CURRENT_TIME})"
|
||||
|
||||
# echo "travis_fold:start:ninja-build.1"
|
||||
echo "${bold}Building QGIS...${endbold}"
|
||||
${CTEST_BUILD_COMMAND}
|
||||
timeout ${TIMEOUT}s ${CTEST_BUILD_COMMAND}
|
||||
# echo "travis_fold:end:ninja-build.1"
|
||||
|
||||
rv=$?
|
||||
if [ $rv -eq 124 ] ; then
|
||||
printf '\n\n${bold}Build and test timeout. Please restart the build for meaningful results.${endbold}\n'
|
||||
exit #$rv
|
||||
fi
|
||||
|
||||
# Temporarily uncomment to debug ccache issues
|
||||
# echo "travis_fold:start:ccache-debug"
|
||||
# cat /tmp/cache.debug
|
||||
|
@ -23,6 +23,6 @@ services:
|
||||
- TRAVIS_OS_NAME=${TRAVIS_OS_NAME}
|
||||
- TRAVIS_CONFIG=${TRAVIS_CONFIG}
|
||||
- TRAVIS=${TRAVIS}
|
||||
- TRAVIS_TIMESTAMP=${TRAVIS_TIMESTAMP}
|
||||
- QGIS_DISABLE_MESSAGE_HOOKS=1
|
||||
- QGIS_NO_OVERRIDE_IMPORT=1
|
||||
|
||||
|
@ -14,6 +14,7 @@ matrix:
|
||||
# on cron job, QGIS image is built and push without testing
|
||||
- DOCKER_QGIS_IMAGE_BUILD_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_EVENT_TYPE =~ cron ]] && echo "true" || echo "false" )
|
||||
- QGIS_LAST_BUILD_SUCCESS=true # TODO use API to know if last build succeed https://developer.travis-ci.com/resource/builds
|
||||
- TRAVIS_TIMESTAMP=$(date +%s)
|
||||
- CCACHE_DIR=${HOME}/.ccache
|
||||
dist: trusty
|
||||
sudo: false
|
||||
|
Loading…
x
Reference in New Issue
Block a user