start using commitMessageFlag for refspec flags

refs DE-1359

[canvas-builds-refspec=d45584f9fbf6617ddd76f5dd39a2cffdac3c9565]

Change-Id: Ic7d7fa37df74a9c6268a70ed82337530492a3d20
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313242
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
This commit is contained in:
Aaron Ogata 2023-03-14 08:31:38 -07:00
parent fb0cd420e2
commit 85dd6e714b
1 changed files with 6 additions and 20 deletions

26
Jenkinsfile vendored
View File

@ -210,38 +210,24 @@ def getSlackChannel() {
return env.SLACK_CHANNEL_OVERRIDE ?: env.GERRIT_EVENT_TYPE == 'change-merged' ? '#canvas_builds' : '#devx-bots'
}
@groovy.transform.Field final static CANVAS_BUILDS_REFSPEC_REGEX = /\[canvas\-builds\-refspec=(.+?)\]/
def getCanvasBuildsRefspec() {
def commitMessage = env.GERRIT_CHANGE_COMMIT_MESSAGE ? new String(env.GERRIT_CHANGE_COMMIT_MESSAGE.decodeBase64()) : null
def defaultValue = env.GERRIT_BRANCH.contains('stable/') ? env.GERRIT_BRANCH : 'master'
if (env.GERRIT_EVENT_TYPE == 'change-merged' || !commitMessage || !(commitMessage =~ CANVAS_BUILDS_REFSPEC_REGEX).find()) {
return env.GERRIT_BRANCH.contains('stable/') ? env.GERRIT_BRANCH : 'master'
}
return (commitMessage =~ CANVAS_BUILDS_REFSPEC_REGEX).findAll()[0][1]
return commitMessageFlag('canvas-builds-refspec') as String ?: defaultValue
}
@groovy.transform.Field final static CANVAS_LMS_REFSPEC_REGEX = /\[canvas\-lms\-refspec=(.+?)\]/
def getCanvasLmsRefspec() {
// If stable branch, first search commit message for canvas-lms-refspec. If not present use stable branch head on origin.
if (env.GERRIT_BRANCH.contains('stable/')) {
def commitMessage = env.GERRIT_CHANGE_COMMIT_MESSAGE ? new String(env.GERRIT_CHANGE_COMMIT_MESSAGE.decodeBase64()) : null
def defaultBranch = env.GERRIT_BRANCH.contains('stable/') ? env.GERRIT_BRANCH : 'master'
def defaultValue = "+refs/heads/$defaultBranch:refs/remotes/origin/$defaultBranch"
if ((commitMessage =~ CANVAS_LMS_REFSPEC_REGEX).find()) {
return configuration.canvasLmsRefspec()
}
return "+refs/heads/$GERRIT_BRANCH:refs/remotes/origin/$GERRIT_BRANCH"
}
return env.GERRIT_EVENT_TYPE == 'change-merged' ? configuration.canvasLmsRefspecDefault() : configuration.canvasLmsRefspec()
return commitMessageFlag('canvas-lms-refspec') as String ?: defaultValue
}
// =========
library "canvas-builds-library@${getCanvasBuildsRefspec()}"
loadLocalLibrary('local-lib', 'build/new-jenkins/library')
commitMessageFlag.setEnabled(env.GERRIT_EVENT_TYPE != 'change-merged')
configuration.setUseCommitMessageFlags(env.GERRIT_EVENT_TYPE != 'change-merged')
protectedNode.setReportUnhandledExceptions(!env.JOB_NAME.endsWith('Jenkinsfile'))