gitlab-org--gitlab-foss/danger/ci_config/Dangerfile

22 lines
872 B
Ruby

# frozen_string_literal: true
all_changed_files = helper.all_changed_files
def get_ci_config_files(files)
files.select do |file|
file.include?('gitlab/ci/config/entry')
end
end
schema_path = 'app/assets/javascripts/editor/schema/ci.json'
schema_docs_path = 'https://docs.gitlab.com/ee/development/cicd/schema.html#write-specs'
has_schema_update = all_changed_files.include?(schema_path)
return if has_schema_update
ci_config_files = get_ci_config_files(all_changed_files)
return if ci_config_files.empty?
file_list = "- #{ci_config_files.map { |path| "`#{path}`" }.join("\n- ")}"
warn "This merge request changed CI config files but did not update the schema. Please consider updating [the schema](#{schema_path}) to reflect these changes:\n#{file_list}.\n\nRefer to the [docs](#{schema_docs_path}) for help on how to run and write specs for the CI schema."