report feature flag changes for approval
refs DE-777 Change-Id: I4bfa74ec75894eb93660e2e8ef0e1d75ec51d927 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/269865 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com> Reviewed-by: Ryan Norton <rnorton@instructure.com> Product-Review: Ryan Norton <rnorton@instructure.com> QA-Review: Aaron Ogata <aogata@instructure.com>
This commit is contained in:
parent
bfc7228bfd
commit
f87f9b72e7
|
@ -440,6 +440,7 @@ pipeline {
|
|||
def nestedStages = [:]
|
||||
|
||||
callableWithDelegate(lintersStage.codeStage(nestedStages))()
|
||||
callableWithDelegate(lintersStage.featureFlagStage(nestedStages, buildConfig))()
|
||||
callableWithDelegate(lintersStage.groovyStage(nestedStages, buildConfig))()
|
||||
callableWithDelegate(lintersStage.masterBouncerStage(nestedStages))()
|
||||
callableWithDelegate(lintersStage.webpackStage(nestedStages))()
|
||||
|
|
|
@ -24,6 +24,10 @@ def hasDockerDevFiles(buildConfig) {
|
|||
return buildConfig[STAGE_NAME].value('dockerDevFiles')
|
||||
}
|
||||
|
||||
def hasFeatureFlagFiles(buildConfig) {
|
||||
return buildConfig[STAGE_NAME].value('featureFlagFiles')
|
||||
}
|
||||
|
||||
def hasGroovyFiles(buildConfig) {
|
||||
return buildConfig[STAGE_NAME].value('groovyFiles')
|
||||
}
|
||||
|
@ -52,6 +56,7 @@ def call(stageConfig) {
|
|||
]
|
||||
|
||||
stageConfig.value('dockerDevFiles', git.changedFiles(dockerDevFiles, 'HEAD^'))
|
||||
stageConfig.value('featureFlagFiles', git.changedFiles(['config/feature_flags'], 'HEAD^'))
|
||||
stageConfig.value('groovyFiles', git.changedFiles(['.*.groovy', 'Jenkinsfile.*'], 'HEAD^'))
|
||||
stageConfig.value('yarnFiles', git.changedFiles(['package.json', 'yarn.lock'], 'HEAD^'))
|
||||
stageConfig.value('migrationFiles', sh(script: 'build/new-jenkins/check-for-migrations.sh', returnStatus: true) == 0)
|
||||
|
|
|
@ -26,7 +26,7 @@ def nodeRequirementsTemplate() {
|
|||
]
|
||||
]
|
||||
|
||||
def containers = ['code', 'groovy', 'master-bouncer', 'webpack', 'yarn'].collect { containerName ->
|
||||
def containers = ['code', 'feature-flag', 'groovy', 'master-bouncer', 'webpack', 'yarn'].collect { containerName ->
|
||||
baseTestContainer + [name: containerName]
|
||||
}
|
||||
|
||||
|
@ -87,6 +87,26 @@ def webpackStage(stages) {
|
|||
}
|
||||
}
|
||||
|
||||
def featureFlagStage(stages, buildConfig) {
|
||||
{ ->
|
||||
extendedStage('Linters - feature-flag')
|
||||
.nodeRequirements(container: 'feature-flag')
|
||||
.obeysAllowStages(false)
|
||||
.required(filesChangedStage.hasFeatureFlagFiles(buildConfig))
|
||||
.queue(stages) {
|
||||
slackSend(
|
||||
channel: configuration.getString('feature-flag-report-channel'),
|
||||
color: 'warning',
|
||||
message: "${env.GERRIT_CHANGE_URL} is changing a feature flag."
|
||||
)
|
||||
|
||||
node('master') {
|
||||
gerrit.addReviewers(Arrays.asList(configuration.getString('feature-flag-report-emails').split(',')))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def yarnStage(stages, buildConfig) {
|
||||
{ ->
|
||||
def yarnEnvVars = [
|
||||
|
|
Loading…
Reference in New Issue