allow forcing crystal ball to run despite config changes

refs DE-1220

Change-Id: I12d3e9b4728e94c816a6bf610345aedf18c1baa7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303477
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Butters <jbutters@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
This commit is contained in:
Aaron Ogata 2022-10-18 07:27:43 -07:00
parent c49a1cea4e
commit e219d6de77
2 changed files with 7 additions and 1 deletions

3
Jenkinsfile vendored
View File

@ -279,6 +279,8 @@ pipeline {
NODE = configuration.node()
RUBY = configuration.ruby() // RUBY_VERSION is a reserved keyword for ruby installs
FORCE_CRYSTALBALL = "${configuration.getBoolean('force-crystalball', '0') ? 1 : 0}"
BASE_RUNNER_PREFIX = configuration.buildRegistryPath('base-runner')
CASSANDRA_PREFIX = configuration.buildRegistryPath('cassandra-migrations')
DYNAMODB_PREFIX = configuration.buildRegistryPath('dynamodb-migrations')
@ -457,6 +459,7 @@ pipeline {
-e CRYSTALBALL_DIFF_FROM=$diffFrom \
-e CRYSTALBALL_DIFF_TO=$GERRIT_PATCHSET_REVISION \
-e CRYSTALBALL_REPO_PATH=$DOCKER_WORKDIR \
-e FORCE_CRYSTALBALL=$FORCE_CRYSTALBALL \
general-build-container bundle exec crystalball --dry-run
'''

View File

@ -198,7 +198,10 @@ module Crystalball
change_map[change_type] << change_path
end
Crystalball.log :warn, "Crystalball changes: #{file_changes.slice("new", "modified")}"
if file_changes["new"].count.positive?
if ENV["FORCE_CRYSTALBALL"] == "1"
Crystalball.log :warn, "Crystalball force enabled despite config changes or new files"
[]
elsif file_changes["new"].count.positive?
Crystalball.log :warn, "Crystalball detected new .git files: #{file_changes["new"]}"
Crystalball.log :warn, "Crystalball requesting entire suite re-run"
["."]