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 e9c66a49f72984fe7b7082e3c9c15f709eadd255..1fc7dc283833e9ee210a1864308f866793862416 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 90f1b6fc5a8e1d258bcf84c84b98ae3635212070..b47e7f59163a097d8781761f2550a7e7c836cc09 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 70a0c87be35bd5bfbcbbe3dfabb5e162d5da36b4..d4f6253f15a717ad4e12b8c5466fa4ec43c199e7 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