Skip to content

smartcontractkit/flakeguard

Repository files navigation

Flakeguard

License: MIT

Flakeguard helps you detect flaky tests, quarantine them, and guard your CI pipelines from them.

Usage

Flakeguard sits on top of gotestsum to run tests and organize output.

# Print help output
flakeguard -h

# Typical usage
flakeguard [detect | guard] [flakeguard-flags] [-- gotestsum-flags] [-- go-test-flags]

There are two modes for running flakeguard, detect and guard.

detect

Run tests over and over to figure out which ones are flaky. Best used in a nightly cron job to regularly checkup on your test suite health.

flakeguard detect -h

guard

Guard your CI pipelines from being affected by flaky tests. This will attempt to re-run any failing tests and make them pass so that your PRs and merge queues aren't decimated by getting unlucky with flakes. It will also look for newly added and modified tests and try to determine if your code changes are introducing new flakes.

flakeguard guard -h

Contributing

We use golangci-lint v2 for linting and formatting, and pre-commit for pre-commit and pre-push checks.

pre-commit install

A handy debugging setup is available already in the included .vscode folder.

About

A CLI tool to detect and guard your code from flaky tests

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •