mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
CI: Add "throttle" label and "skip_gate" capability
To make throttling by label fully active, the "throttle" option has to be specified with a specific label. You can now specify "skip_gate" in the Gerrit comments when you do a +2 code review to tell Jenkins not to actually run the gate. You'd do this if you plan to manually merge the change. Also updated the "printenv" debug output to better sort multi-line comments. Change-Id: I4c0b1085acec4805f2ca207eebac50aad81f27e2
This commit is contained in:
@@ -20,6 +20,8 @@ if (env.TIMEOUT_GATES) {
|
||||
|
||||
pipeline {
|
||||
options {
|
||||
ansiColor('gnome-terminal')
|
||||
throttle(['asterisk-gate'])
|
||||
timestamps()
|
||||
timeout(time: timeoutTime, unit: timeoutUnits)
|
||||
}
|
||||
@@ -62,14 +64,15 @@ pipeline {
|
||||
|
||||
stages {
|
||||
stage ("->") {
|
||||
/*
|
||||
* Jenkins will try to automatically rebuild this job when
|
||||
* the jenkinsfile changes but since this job is dependent on
|
||||
* Gerrit, we really don't want to do anything in that case.
|
||||
*/
|
||||
when {
|
||||
/*
|
||||
* Jenkins will try to automatically rebuild this job when
|
||||
* the jenkinsfile changes but since this job is dependent on
|
||||
* Gerrit, we really don't want to do anything in that case.
|
||||
*/
|
||||
not { environment name: 'GERRIT_CHANGE_NUMBER', value: '' }
|
||||
not { environment name: 'GERRIT_EVENT_ACCOUNT_NAME', value: 'Jenkins2' }
|
||||
/* If "skip_gate" is in the comments, don't run the job */
|
||||
not { expression { env.GERRIT_EVENT_COMMENT_TEXT ==~ /.*skip_gate.*/ } }
|
||||
}
|
||||
steps {
|
||||
/* Here's where we switch to scripted pipeline */
|
||||
@@ -97,7 +100,7 @@ pipeline {
|
||||
withCredentials([usernamePassword(credentialsId: "${JENKINS_GERRIT_CREDS}",
|
||||
passwordVariable: 'GERRIT_USER_PW', usernameVariable: 'GERRIT_USER_NAME')]) {
|
||||
|
||||
sh "printenv | sort"
|
||||
sh "printenv -0 | sort -z | tr '\0' '\n'"
|
||||
|
||||
checkout scm: [$class: 'GitSCM',
|
||||
branches: [[name: env.GERRIT_BRANCH ]],
|
||||
|
@@ -20,6 +20,8 @@ if (env.TIMEOUT_DAILIES) {
|
||||
|
||||
pipeline {
|
||||
options {
|
||||
ansiColor('gnome-terminal')
|
||||
throttle(['asterisk-daily'])
|
||||
timestamps()
|
||||
timeout(time: timeoutTime, unit: timeoutUnits)
|
||||
}
|
||||
@@ -41,7 +43,7 @@ pipeline {
|
||||
|
||||
stage ("Checkout") {
|
||||
sh "sudo chown -R jenkins:users ."
|
||||
sh "printenv | sort"
|
||||
sh "printenv -0 | sort -z | tr '\0' '\n'"
|
||||
sh "sudo tests/CI/setupJenkinsEnvironment.sh"
|
||||
}
|
||||
|
||||
|
@@ -20,6 +20,8 @@ if (env.TIMEOUT_REF_DEBUG) {
|
||||
|
||||
pipeline {
|
||||
options {
|
||||
ansiColor('gnome-terminal')
|
||||
throttle(['asterisk-ref-debug'])
|
||||
timestamps()
|
||||
timeout(time: timeoutTime, unit: timeoutUnits)
|
||||
}
|
||||
@@ -41,7 +43,7 @@ pipeline {
|
||||
|
||||
stage ("Checkout") {
|
||||
sh "sudo chown -R jenkins:users ."
|
||||
sh "printenv | sort"
|
||||
sh "printenv -0 | sort -z | tr '\0' '\n'"
|
||||
sh "sudo tests/CI/setupJenkinsEnvironment.sh"
|
||||
}
|
||||
|
||||
|
@@ -20,6 +20,8 @@ if (env.TIMEOUT_UNITTESTS) {
|
||||
|
||||
pipeline {
|
||||
options {
|
||||
ansiColor('gnome-terminal')
|
||||
throttle(['asterisk-check'])
|
||||
timestamps()
|
||||
timeout(time: timeoutTime, unit: timeoutUnits)
|
||||
}
|
||||
@@ -98,7 +100,7 @@ pipeline {
|
||||
withCredentials([usernamePassword(credentialsId: "${JENKINS_GERRIT_CREDS}",
|
||||
passwordVariable: 'GERRIT_USER_PW', usernameVariable: 'GERRIT_USER_NAME')]) {
|
||||
|
||||
sh "printenv | sort"
|
||||
sh "printenv -0 | sort -z | tr '\0' '\n'"
|
||||
|
||||
checkout scm: [$class: 'GitSCM',
|
||||
branches: [[name: env.GERRIT_BRANCH ]],
|
||||
|
Reference in New Issue
Block a user