diff options
Diffstat (limited to 'tooling/bin/qa/run_qa_check')
-rwxr-xr-x | tooling/bin/qa/run_qa_check | 45 |
1 files changed, 0 insertions, 45 deletions
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. |