From: George Joseph Date: Mon, 19 Nov 2018 17:59:07 +0000 (-0700) Subject: CI: Get job timeouts from environment X-Git-Tag: 13.24.0-rc1~12^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2397e643de317fb20ad219dbd4a7f9f09066160;p=thirdparty%2Fasterisk.git CI: Get job timeouts from environment The job timeouts were hard coded in the jenkinsfiles which means changes had to go through gerrit. Now they are taken from the following environment variables (and their defaults) that can be set in Jenkins configuration... TIMEOUT_GATES = "60 MINUTES" TIMEOUT_DAILIES = "3 HOURS" TIMEOUT_REF_DEBUG = "24 HOURS" TIMEOUT_UNITTESTS = "30 MINUTES" Change-Id: I673a551c1780bf665a3bc160b245da574aa4bbab --- diff --git a/tests/CI/gates.jenkinsfile b/tests/CI/gates.jenkinsfile index 1839a8b79e..ede335392b 100644 --- a/tests/CI/gates.jenkinsfile +++ b/tests/CI/gates.jenkinsfile @@ -10,10 +10,18 @@ * we need to dynamically determine which docker image we're going to use and * you can't do that in a delcarative pipeline. */ +def timeoutTime = 60 +def timeoutUnits = 'MINUTES' +if (env.TIMEOUT_GATES) { + def _timeout = env.TIMEOUT_GATES.split() + timeoutTime = _timeout[0].toInteger() + timeoutUnits = _timeout[1] +} + pipeline { options { timestamps() - timeout(time: 60, unit: 'MINUTES') + timeout(time: timeoutTime, unit: timeoutUnits) } triggers { /* diff --git a/tests/CI/periodics-daily.jenkinsfile b/tests/CI/periodics-daily.jenkinsfile index ba56665059..26c9db9a21 100644 --- a/tests/CI/periodics-daily.jenkinsfile +++ b/tests/CI/periodics-daily.jenkinsfile @@ -10,10 +10,18 @@ * we need to dynamically determine which docker image we're going to use and * you can't do that in a delcarative pipeline. */ +def timeoutTime = 3 +def timeoutUnits = 'HOURS' +if (env.TIMEOUT_DAILIES) { + def _timeout = env.TIMEOUT_DAILIES.split() + timeoutTime = _timeout[0].toInteger() + timeoutUnits = _timeout[1] +} + pipeline { options { timestamps() - timeout(time: 3, unit: 'HOURS') + timeout(time: timeoutTime, unit: timeoutUnits) } triggers { cron 'H H(0-4) * * *' diff --git a/tests/CI/ref_debug.jenkinsfile b/tests/CI/ref_debug.jenkinsfile index 2c6daf069b..f991349737 100644 --- a/tests/CI/ref_debug.jenkinsfile +++ b/tests/CI/ref_debug.jenkinsfile @@ -10,10 +10,18 @@ * we need to dynamically determine which docker image we're going to use and * you can't do that in a delcarative pipeline. */ +def timeoutTime = 24 +def timeoutUnits = 'HOURS' +if (env.TIMEOUT_REF_DEBUG) { + def _timeout = env.TIMEOUT_REF_DEBUG.split() + timeoutTime = _timeout[0].toInteger() + timeoutUnits = _timeout[1] +} + pipeline { options { timestamps() - timeout(time: 1, unit: 'DAYS') + timeout(time: timeoutTime, unit: timeoutUnits) } triggers { cron 'H H(0-4) * * 0' diff --git a/tests/CI/unittests.jenkinsfile b/tests/CI/unittests.jenkinsfile index 61dac7002e..2916cb4ee7 100644 --- a/tests/CI/unittests.jenkinsfile +++ b/tests/CI/unittests.jenkinsfile @@ -10,10 +10,18 @@ * we need to dynamically determine which docker image we're going to use and * you can't do that in a delcarative pipeline. */ +def timeoutTime = 30 +def timeoutUnits = 'MINUTES' +if (env.TIMEOUT_UNITTESTS) { + def _timeout = env.TIMEOUT_UNITTESTS.split() + timeoutTime = _timeout[0].toInteger() + timeoutUnits = _timeout[1] +} + pipeline { options { timestamps() - timeout(time: 30, unit: 'MINUTES') + timeout(time: timeoutTime, unit: timeoutUnits) } triggers { /*