summaryrefslogtreecommitdiff
path: root/qa/qa/tools
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-09-29 12:08:49 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-09-29 12:08:49 +0000
commit9bf40d9fdc79fb09f67ac2b571467908758777ad (patch)
treed4f9eb07b6d4e37d79de2f8e4036fdf0bbe3d7a9 /qa/qa/tools
parent946b1e2fe93357d596f37d3978cf682b8b837925 (diff)
downloadgitlab-ce-9bf40d9fdc79fb09f67ac2b571467908758777ad.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa/qa/tools')
-rw-r--r--qa/qa/tools/ci/qa_changes.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/qa/qa/tools/ci/qa_changes.rb b/qa/qa/tools/ci/qa_changes.rb
index 75274961efe..846f4dc4769 100644
--- a/qa/qa/tools/ci/qa_changes.rb
+++ b/qa/qa/tools/ci/qa_changes.rb
@@ -11,6 +11,12 @@ module QA
QA_PATTERN = %r{^qa/}.freeze
SPEC_PATTERN = %r{^qa/qa/specs/features/}.freeze
+ DEPENDENCY_PATTERN = Regexp.union(
+ /_VERSION/,
+ /Gemfile\.lock/,
+ /yarn\.lock/,
+ /Dockerfile\.assets/
+ )
def initialize(mr_diff, mr_labels)
@mr_diff = mr_diff
@@ -21,7 +27,8 @@ module QA
#
# @return [String]
def qa_tests
- return if mr_diff.empty?
+ return if mr_diff.empty? || dependency_changes
+
# make paths relative to qa directory
return changed_files&.map { |path| path.delete_prefix("qa/") }&.join(" ") if only_spec_changes?
return qa_spec_directories_for_devops_stage&.join(" ") if non_qa_changes? && mr_labels.any?
@@ -104,6 +111,13 @@ module QA
Dir.glob("qa/specs/**/*/").select { |dir| dir =~ %r{\d+_#{devops_stage}/$} }
end
+ # Changes to gitlab dependencies
+ #
+ # @return [Boolean]
+ def dependency_changes
+ changed_files.any? { |file| file.match?(DEPENDENCY_PATTERN) }
+ end
+
# Change files in merge request
#
# @return [Array<String>]