Skip to content

Use test detection based on crystalball mapping in rspec jobs

Albert Salim requested to merge caalberts-use-crystalball-with-knapsack into master

What does this MR do?

This MR prepares jobs to detect relevant tests for an MR. This is part of approach outlined in #222369 (comment 457663853). This MR will be followed by !48741 (merged)

  1. Download test mapping artifact from latest update-tests-metadata master job that produced crystalball mapping
  2. Use test mapping with tff to detect relevant tests to the MR
  3. Add option rspec using tooling/bin/parallel_rspec with --filter on matching tests, based on variable RSPEC_TEST_MAPPING_ENABLED

Test detection scope:

Sample test pipelines:

Part of #263407 (closed) #222369 (closed)

Pipeline Changes

This Merge Request contains changes to the pipeline configuration for the GitLab project.

Please consider the effect of the changes in this Merge Request on the following:

  • Effects on different pipeline types
    • No immediate change, as behaviour change on rspec is hidden behind flag RSPEC_TESTS_MAPPING_ENABLED
  • Effects on non-canonical projects (gitlab-foss, security, etc)
    • No immediate change, as behaviour change on rspec is hidden behind flag RSPEC_TESTS_MAPPING_ENABLED
  • Effects on pipeline performance
    • Additional API calls in retrieving test metadata to
      1. find master pipelines
      2. find job id with correct artifact
      3. download artifact
  • Effects on fork pipelines
    • No immediate change, as behaviour change on rspec is hidden behind flag RSPEC_TESTS_MAPPING_ENABLED

Please consider communicating these changes to the broader team following the communication guideline for pipeline changes

Edited by Albert Salim

Merge request reports