Skip to content

RSpec tests: adopting more tests and branch/release policy

Georges Racinet requested to merge topic/heptapod/more-rspec into branch/heptapod

Thanks to the (re)parallelization effort done last week, it's become possible to launch a bigger subset of the entire RSpec suite in CI, but we won't do this for each Merge Request.

The present MR defines a new policy of "scopes", which are currently no scope (previous subset of tests) and "extended" (new, bigger, subset):

  • ordinary MRs, i.e., those for the heptapod and heptapod-stable branches will keep being tested on the previous small subset, currently with 6 parallel jobs (shards)
  • releases or any pipelines targetting a release branch (such as heptapod-0-17) will run the "extended" scope, currently with 10 shards. For the time being we will allow failure for lack of experience with possible flakiness but that won't last.

On the command line, this is controlled by the HEPTAPOD_RSPEC_SCOPE environment variable recognized by scripts/heptapod_knapsack.sh.

This first version of the "extended" scope includes all the tests from spec/lib/gitlab that the upstream GitLab "unit" job would run (we have the same exclusion tags). All these tests were fixed/adapted in the present MR. One real bug was found doing so (#390 (closed)).

Merge request reports