Commit af52ce37 authored by Georges Racinet's avatar Georges Racinet 🦑
Browse files

Heptapod CI: running the "extended" Rspec scope on release branches

Release branches are the current `heptapod-0-16`, `heptapod-0-17` etc.
They are essentially the result of merging of development branches
(`heptapod` or `heptapod-stable`) with the latest upstream patch
release.

The rationale is that the extended RSpec scope is too heavy for
regular development work, and even moreso in the near future,
because we are precisely in the process of re-enabling more RSpec tests.

For now, failures are allowed, so that it's non-blocking,
but we should come up with a policy to prepare the release branches
in advance.

It's also possible to trigger the extended job by passing the
`CI_HEPTAPOD_RSPEC_SCOPE` variable directly from the Web UI.
Name differs from the environment variable that `heptapod_knapsack.sh`
interprets because check occurs after the variable has been set with
the `variable` directive (hence if it were the same, the job would
always be triggered)

We're also taking care that the regular job doesn't start
when using the variable to trigger the extended job.

--HG--
branch : heptapod
parent 69d40ed3d6fd
......@@ -80,14 +80,8 @@ gitlab-prebuilds:
when: always
rspec:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
allow_failure: false
- if: '$CI_PIPELINE_SOURCE == "web"'
allow_failure: true
.rspec:
# sharding (automatically sets the CI_NODE_{INDEX,TOTAL} expected by knapsack)
parallel: 6
variables:
# reconverted for rspec-retries (so this is a per-example retry, not
# retry of the full shard), including the silly missing +1
......@@ -117,6 +111,37 @@ rspec:
- cat $PWD/config/tests.hgrc
- scripts/heptapod_knapsack.sh
rspec-regular:
extends:
- .rspec
parallel: 6
rules: # run in development branches
- if: '$CI_HEPTAPOD_RSPEC_SCOPE'
when: never
- if: '$CI_COMMIT_HG_BRANCH =~ /^heptapod(-stable)?$/ && $CI_PIPELINE_SOURCE == "merge_request_event"'
allow_failure: false
- if: '$CI_COMMIT_HG_BRANCH =~ /^heptapod(-stable)?$/ && $CI_PIPELINE_SOURCE == "web"'
allow_failure: true
rspec-extended:
extends:
- .rspec
variables:
# probably would be merged, but I don't want to find about it the hard way
RETRIES: 6
HEPTAPOD_RSPEC_SCOPE: "extended"
parallel: 10
rules:
# - runs in release branches
# - manual options are pointless with lots of shards
# - web will be useful for a while though
# - allow failures in order not to be blocking while this is being set up
- if: '$CI_HEPTAPOD_RSPEC_SCOPE == "extended"'
- if: '$CI_COMMIT_HG_BRANCH =~ /^heptapod-\d+-\d+$/ && $CI_PIPELINE_SOURCE == "merge_request_event"'
allow_failure: true
- if: '$CI_COMMIT_HG_BRANCH =~ /^heptapod-\d+-\d+$/ && $CI_PIPELINE_SOURCE == "web"'
allow_failure: true
tarball:
stage: upload
......
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