Closed
Description
@bryphe-coder and I were talking about improving our e2e test structure both in open-source and the product. One idea is to have a Testing Gauntlet where we run e2e tests through a series of trials (say repeat each test 30 times) before it gets added to the codebase. Then have a nightly job that runs the unstable/flakey tests.
How it Works
Here's what I'm thinking:
- Developer writes new e2e test and adds to
test/e2e/unstable
- Developer opens and merges PR
- Each night, CI runs
ci/dev/test-gauntlet.sh
which does the following: - Runs tests in
test/e2e/unstable
and captures success results. - If new test passes gauntlet (i.e. 30 successful runs), then CI commits new test, opens PR and assigns to Testing Team
- Testing Team reviews PRs from CI and merges in
Implementation
- figuring out directory scaffolding
unstable
ornightly
intest/e2e
- write
test-gauntlet.sh
script - add CI job which runs on a schedule and opens PRs into
main