Commit 1960fb7c authored by Albert Salim's avatar Albert Salim

Fail rspec foss-impact job with too many test files

It would recommend to add RUN AS-IF-FOSS to the merge request.
parent 21ddfabe
...@@ -422,6 +422,8 @@ ...@@ -422,6 +422,8 @@
rules: rules:
- <<: *if-not-ee - <<: *if-not-ee
when: never when: never
- <<: *if-merge-request-title-as-if-foss
when: never
- <<: *if-security-merge-request - <<: *if-security-merge-request
changes: *code-backstage-patterns changes: *code-backstage-patterns
- <<: *if-dot-com-gitlab-org-merge-request - <<: *if-dot-com-gitlab-org-merge-request
......
...@@ -112,9 +112,21 @@ function rspec_paralellized_job() { ...@@ -112,9 +112,21 @@ function rspec_paralellized_job() {
} }
function rspec_matched_tests() { function rspec_matched_tests() {
local test_file_count_threshold=20
local matching_tests_file=${1} local matching_tests_file=${1}
local rspec_opts=${2} local rspec_opts=${2}
local test_files="$(cat "${matching_tests_file}")" local test_files="$(cat "${matching_tests_file}")"
local test_file_count=$(wc -w "${matching_tests_file}" | awk {'print $1'})
if [[ "${test_file_count}" -gt "${test_file_count_threshold}" ]]; then
echo "There are more than ${test_file_count_threshold} FOSS test files matched,"
echo "which would take too long to run in this job."
echo "To reduce the likelihood of breaking FOSS pipelines,"
echo "please add [RUN AS-IF-FOSS] to the MR title and restart the pipeline."
echo "This would run all as-if-foss jobs in this merge request"
echo "and remove this job from the pipeline."
exit 1
fi
if [[ -n $test_files ]]; then if [[ -n $test_files ]]; then
rspec_simple_job "${rspec_opts} ${test_files}" rspec_simple_job "${rspec_opts} ${test_files}"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment