File tree Expand file tree Collapse file tree 5 files changed +31
-10
lines changed Expand file tree Collapse file tree 5 files changed +31
-10
lines changed Original file line number Diff line number Diff line change 13
13
# #
14
14
# ##########################################################################
15
15
16
-
17
16
# pip3 install termcolor
Original file line number Diff line number Diff line change @@ -19,13 +19,14 @@ pushd .docker
19
19
20
20
echo " travis_fold:start:travis_env"
21
21
echo " ${bold}${endbold} "
22
- echo " TRAVIS_BRANCH $TRAVIS_BRANCH "
23
- echo " TRAVIS_EVENT_TYPE $TRAVIS_EVENT_TYPE "
24
- echo " DOCKER_TAG $DOCKER_TAG "
25
- echo " DOCKER_DEPS_PUSH $DOCKER_DEPS_PUSH "
26
- echo " DOCKER_DEPS_IMAGE_REBUILD $DOCKER_DEPS_IMAGE_REBUILD "
27
- echo " DOCKER_QGIS_IMAGE_BUILD_PUSH $DOCKER_QGIS_IMAGE_BUILD_PUSH "
28
- echo " QGIS_LAST_BUILD_SUCCESS $QGIS_LAST_BUILD_SUCCESS "
22
+ echo " TRAVIS_BRANCH: $TRAVIS_BRANCH "
23
+ echo " TRAVIS_EVENT_TYPE: $TRAVIS_EVENT_TYPE "
24
+ echo " DOCKER_TAG: $DOCKER_TAG "
25
+ echo " DOCKER_DEPS_PUSH: $DOCKER_DEPS_PUSH "
26
+ echo " DOCKER_DEPS_IMAGE_REBUILD: $DOCKER_DEPS_IMAGE_REBUILD "
27
+ echo " DOCKER_QGIS_IMAGE_BUILD_PUSH: $DOCKER_QGIS_IMAGE_BUILD_PUSH "
28
+ echo " QGIS_LAST_BUILD_SUCCESS: $QGIS_LAST_BUILD_SUCCESS "
29
+ echo " TRAVIS_TIMESTAMP: $TRAVIS_TIMESTAMP "
29
30
echo " travis_fold:end:travis_env"
30
31
31
32
Original file line number Diff line number Diff line change @@ -59,11 +59,31 @@ echo "travis_fold:end:cmake"
59
59
# ######
60
60
# Build
61
61
# ######
62
+ # Calculate the timeout for building.
63
+ # The tests should be aborted before travis times out, in order to allow uploading
64
+ # the ccache and therefore speedup subsequent e builds.
65
+ #
66
+ # Travis will kill the job after approx 90 minutes, we subtract 8 minutes for
67
+ # uploading and subtract the bootstrapping time from that.
68
+ # Hopefully clocks are in sync :)
69
+ TRAVIS_TIME=90
70
+ UPLOAD_TIME=8
71
+ CURRENT_TIME=` date +%s`
72
+ TIMEOUT=$( expr \( ${TRAVIS_TIME} - ${UPLOAD_TIME} \) \* 60 - ${CURRENT_TIME} + ${TRAVIS_TIMESTAMP} )
73
+ TIMEOUT=$(( ${TIMEOUT} < 300 ? 300 : ${TIMEOUT} ))
74
+ echo " Timeout: ${TIMEOUT} s (started at ${TRAVIS_TIMESTAMP} , current: ${CURRENT_TIME} )"
75
+
62
76
# echo "travis_fold:start:ninja-build.1"
63
77
echo " ${bold} Building QGIS...${endbold} "
64
- ${CTEST_BUILD_COMMAND}
78
+ timeout ${TIMEOUT} s ${CTEST_BUILD_COMMAND}
65
79
# echo "travis_fold:end:ninja-build.1"
66
80
81
+ rv=$?
82
+ if [ $rv -eq 124 ] ; then
83
+ printf ' \n\n${bold}Build and test timeout. Please restart the build for meaningful results.${endbold}\n'
84
+ exit # $rv
85
+ fi
86
+
67
87
# Temporarily uncomment to debug ccache issues
68
88
# echo "travis_fold:start:ccache-debug"
69
89
# cat /tmp/cache.debug
Original file line number Diff line number Diff line change @@ -23,6 +23,6 @@ services:
23
23
- TRAVIS_OS_NAME=${TRAVIS_OS_NAME}
24
24
- TRAVIS_CONFIG=${TRAVIS_CONFIG}
25
25
- TRAVIS=${TRAVIS}
26
+ - TRAVIS_TIMESTAMP=${TRAVIS_TIMESTAMP}
26
27
- QGIS_DISABLE_MESSAGE_HOOKS=1
27
28
- QGIS_NO_OVERRIDE_IMPORT=1
28
-
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ matrix:
14
14
# on cron job, QGIS image is built and push without testing
15
15
- DOCKER_QGIS_IMAGE_BUILD_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_EVENT_TYPE =~ cron ]] && echo "true" || echo "false" )
16
16
- QGIS_LAST_BUILD_SUCCESS=true # TODO use API to know if last build succeed https://developer.travis-ci.com/resource/builds
17
+ - TRAVIS_TIMESTAMP=$(date +%s)
17
18
- CCACHE_DIR=${HOME}/.ccache
18
19
dist : trusty
19
20
sudo : false
You can’t perform that action at this time.
0 commit comments