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

Heptapod CI: running RSpec tests in parallel

Starting with 6 jobs should give us pipelines around 15 minutes,
but perhaps we'll need to cache download.heptapod.net

Worth of notice is that for the `parallel` directive, GitLab chose
the exact environment variables expected by knapsack.

Lately we've needed a tremendous
amount of retries on one example (#384), that explains
the very high `RETRIES` setting.

--HG--
branch : heptapod-stable
parent 9e6d387532db
Pipeline #14112 failed with stages
in 12 minutes and 6 seconds
......@@ -93,6 +93,12 @@ rspec:
- if: '$CI_PIPELINE_SOURCE != "merge_request_event"'
when: manual
allow_failure: true
# 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
RETRIES: 6
extends:
- .use-pg11 # base image and services
- .default-before_script # shell functions and some environment vars
......@@ -117,7 +123,7 @@ rspec:
- cat $PWD/config/tests.hgrc
- cat $PWD/hgitaly/py-heptapod/heptapod/required.hgrc
- HGRCPATH=hgitaly/py-heptapod/heptapod/required.hgrc /usr/local/bin/hg hpd-versions; echo
- scripts/heptapod_rspec.sh --format d
- scripts/heptapod_knapsack.sh
tarball:
......
#!/bin/sh
# This script has to be run from the root of the Rails application
# Generally speaking, one should prefer heptapod_knapsack.sh (for
# sharded parallel execution)
# use this to generate the knapsack report (times of individual test files)
#export KNAPSACK_GENERATE_REPORT=true
......
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