Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-09-20 02:18:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-09-20 02:18:09 +0300
commit6ed4ec3e0b1340f96b7c043ef51d1b33bbe85fde (patch)
treedc4d20fe6064752c0bd323187252c77e0a89144b /tooling/bin
parent9868dae7fc0655bd7ce4a6887d4e6d487690eeed (diff)
Add latest changes from gitlab-org/gitlab@15-4-stable-eev15.4.0-rc42
Diffstat (limited to 'tooling/bin')
-rwxr-xr-xtooling/bin/find_changes10
-rwxr-xr-xtooling/bin/qa/run_qa_check45
2 files changed, 7 insertions, 48 deletions
diff --git a/tooling/bin/find_changes b/tooling/bin/find_changes
index 8ad5011459b..38e1f363dd9 100755
--- a/tooling/bin/find_changes
+++ b/tooling/bin/find_changes
@@ -46,12 +46,16 @@ class FindChanges # rubocop:disable Gitlab/NamespacedClass
config.private_token = gitlab_token
end
- mr_changes = Gitlab.merge_request_changes(mr_project_path, mr_iid)
-
- mr_changes.changes.map { |change| change['new_path'] unless change['deleted_file'] }.compact
+ mr_changes.changes.flat_map do |change|
+ change.to_h.values_at('old_path', 'new_path')
+ end.uniq
end
end
+ def mr_changes
+ @mr_changes ||= Gitlab.merge_request_changes(mr_project_path, mr_iid)
+ end
+
def test_files
return [] if !matched_tests_file || !File.exist?(matched_tests_file)
diff --git a/tooling/bin/qa/run_qa_check b/tooling/bin/qa/run_qa_check
deleted file mode 100755
index 5b8844ec4fd..00000000000
--- a/tooling/bin/qa/run_qa_check
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-require 'pathname'
-
-# This script checks if the code changes justify running the QA suite.
-#
-# It assumes the first argument is a directory of files containing diffs of changes from an MR
-# (e.g., created by tooling/bin/find_change_diffs). It exits with a success code if there are no diffs, or if the diffs
-# are suitable to run QA tests.
-#
-# The script will abort (exit code 1) if the argument is missing.
-#
-# The following condition will result in a failure code (2), indicating that QA tests should not run:
-#
-# - If the changes only include tests being put in quarantine
-
-abort("ERROR: Please specify the directory containing MR diffs.") if ARGV.empty?
-diffs_dir = Pathname.new(ARGV.shift).expand_path
-
-# Run QA tests if there are no diffs. E.g., in scheduled pipelines
-exit 0 if diffs_dir.glob('**/*').empty?
-
-files_count = 0
-specs_count = 0
-quarantine_specs_count = 0
-
-diffs_dir.glob('**/*').each do |path|
- next if path.directory?
-
- files_count += 1
- next unless path.to_s.end_with?('_spec.rb.diff')
-
- specs_count += 1
- quarantine_specs_count += 1 if path.read.match?(/^\+.*,? quarantine:/)
-end
-
-# Run QA tests if there are no specs. E.g., when the MR changes QA framework files.
-exit 0 if specs_count == 0
-
-# Skip QA tests if there are only specs being put in quarantine.
-exit 2 if quarantine_specs_count == specs_count && quarantine_specs_count == files_count
-
-# Run QA tests under any other circumstances. E.g., if there are specs being put in quarantine but there are also
-# other changes that might need to be tested.