File: Dangerfile

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (21 lines) | stat: -rw-r--r-- 872 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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."