From 26c8ead349f9aeea48a3262da1f40dbf02486c37 Mon Sep 17 00:00:00 2001 From: Peter Leitzen <pleitzen@gitlab.com> Date: Wed, 3 Apr 2024 08:58:42 +0200 Subject: [PATCH] Add tooling specs to predictive pipelines --- .../rails/rspec-foss-impact.gitlab-ci.yml.erb | 8 ++++++++ .../rails/rspec-predictive.gitlab-ci.yml.erb | 18 ++++++++++++++++++ scripts/generate_rspec_pipeline.rb | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb b/.gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb index e9c66a49f7298..1fc7dc283833e 100644 --- a/.gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb +++ b/.gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb @@ -87,3 +87,11 @@ rspec system foss-impact: parallel: <%= rspec_files_per_test_level[:system][:parallelization] %> <% end %> <% end %> + +<% if rspec_files_per_test_level[:tooling][:files].size > 0 %> +rspec tooling foss-impact: + extends: .base-rspec-foss-impact +<% if rspec_files_per_test_level[:tooling][:parallelization] > 1 %> + parallel: <%= rspec_files_per_test_level[:tooling][:parallelization] %> +<% end %> +<% end %> diff --git a/.gitlab/ci/rails/rspec-predictive.gitlab-ci.yml.erb b/.gitlab/ci/rails/rspec-predictive.gitlab-ci.yml.erb index 90f1b6fc5a8e1..b47e7f59163a0 100644 --- a/.gitlab/ci/rails/rspec-predictive.gitlab-ci.yml.erb +++ b/.gitlab/ci/rails/rspec-predictive.gitlab-ci.yml.erb @@ -97,6 +97,15 @@ rspec system predictive: <% end %> <% end %> +<% if rspec_files_per_test_level.dig(:tooling, :files).size > 0 %> +rspec tooling predictive: + extends: + - .base-rspec-predictive +<% if rspec_files_per_test_level.dig(:tooling, :parallelization) > 1 %> + parallel: <%= rspec_files_per_test_level.dig(:tooling, :parallelization) %> +<% end %> +<% end %> + <% end %> <% if test_suite_prefix == 'ee/' %> @@ -154,4 +163,13 @@ rspec-ee system predictive: <% end %> <% end %> +<% if rspec_files_per_test_level.dig(:tooling, :files).size > 0 %> +rspec-ee tooling predictive: + extends: + - .base-rspec-ee-predictive +<% if rspec_files_per_test_level.dig(:tooling, :parallelization) > 1 %> + parallel: <%= rspec_files_per_test_level.dig(:tooling, :parallelization) %> +<% end %> +<% end %> + <% end %> diff --git a/scripts/generate_rspec_pipeline.rb b/scripts/generate_rspec_pipeline.rb index 70a0c87be35bd..d4f6253f15a71 100755 --- a/scripts/generate_rspec_pipeline.rb +++ b/scripts/generate_rspec_pipeline.rb @@ -11,7 +11,7 @@ # Class to generate RSpec test child pipeline with dynamically parallelized jobs. class GenerateRspecPipeline SKIP_PIPELINE_YML_FILE = ".gitlab/ci/_skip.yml" - TEST_LEVELS = %i[migration background_migration unit integration system].freeze + TEST_LEVELS = %i[migration background_migration unit integration system tooling].freeze MAX_NODES_COUNT = 50 # Maximum parallelization allowed by GitLab OPTIMAL_TEST_JOB_DURATION_IN_SECONDS = 600 # 10 MINUTES -- GitLab