Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Commit

Permalink
Merge pull request #10631 from EOSIO/release_2.0.x_rounds
Browse files Browse the repository at this point in the history
Ensure that all stability test rounds continue even if early rounds exhibit failures.
  • Loading branch information
williamblevins authored Aug 19, 2021
2 parents 9565c27 + 83832b2 commit 2769a51
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
15 changes: 9 additions & 6 deletions .cicd/eosio-test-stability.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@ The [eosio-test-stability](https://buildkite.com/EOSIO/eosio-test-stability) pip
### Variables
There are five primary environment variables relevant to stability testing:
```bash
PINNED='true|false' # whether to perform the test with pinned dependencies, or default dependencies
ROUNDS='' # natural number defining the number of gated rounds of tests to generate
ROUND_SIZE='' # number of test steps to generate per operating system, per round
SKIP_MAC='true|false' # conserve finite macOS Anka agents by excluding them from your testing
TEST='name' # PCRE expression defining the tests to run, preceded by '^' and followed by '$'
TIMEOUT='' # set timeout in minutes for all Buildkite steps
CONTINUE_ON_FAILURE='true|false' # by default, only scheduled builds will continue to the following round if
# any test fails for the current round; however, this setting can be explicitly
# overriden by setting this variable to 'true'.
PINNED='true|false' # whether to perform the test with pinned dependencies, or default dependencies
ROUNDS='' # natural number defining the number of gated rounds of tests to generate
ROUND_SIZE='' # number of test steps to generate per operating system, per round
SKIP_MAC='true|false' # conserve finite macOS Anka agents by excluding them from your testing
TEST='name' # PCRE expression defining the tests to run, preceded by '^' and followed by '$'
TIMEOUT='' # set timeout in minutes for all Buildkite steps
```
The `TEST` variable is parsed as [pearl-compatible regular expression](https://www.debuggex.com/cheatsheet/regex/pcre) where the expression in `TEST` is preceded by `^` and followed by `$`. To specify one test, set `TEST` equal to the test name (e.g. `TEST='read_only_query'`). Specify two tests as `TEST='(nodeos_short_fork_take_over_lr_test|read_only_query)'`. Or, perhaps, you want all of the `restart_scenarios` tests. Then, you could define `TEST='restart-scenario-test-.*'` and Buildkite will generate `ROUND_SIZE` steps each round for each operating system for all three restart scenarios tests.

Expand Down
5 changes: 3 additions & 2 deletions .cicd/generate-pipeline.sh
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,8 @@ EOF
done
IFS=$oIFS
if [[ "$ROUND" != "$ROUNDS" ]]; then
echo ' - wait'
echo ' - wait: ~'
[[ "$BUILDKITE_SOURCE" == 'schedule' || "$CONTINUE_ON_FAILURE" == 'true' ]] && echo ' continue_on_failure: true'
echo ''
fi
done
Expand Down Expand Up @@ -533,7 +534,7 @@ EOF
fi
# pipeline tail
cat <<EOF
- wait:
- wait: ~
continue_on_failure: true
- label: ":bar_chart: Test Metrics"
Expand Down

0 comments on commit 2769a51

Please sign in to comment.