From 44d850784ecbbf389e05f1c0a8ac13b6726e220d Mon Sep 17 00:00:00 2001 From: chaodaiG <45011425+chaodaiG@users.noreply.github.com> Date: Mon, 25 Mar 2019 22:32:50 -0700 Subject: [PATCH] Add README for flaky test reporter (#621) * add README for flaky test reporter * add considerations * remove alternative html tag explanation * fix markdownlint errors * explain more clearly the criteria for test considered pass --- tools/flaky-test-reporter/README.md | 55 ++++++++++++++++++++++++ tools/flaky-test-reporter/flowchart.png | Bin 0 -> 50373 bytes 2 files changed, 55 insertions(+) create mode 100644 tools/flaky-test-reporter/README.md create mode 100644 tools/flaky-test-reporter/flowchart.png diff --git a/tools/flaky-test-reporter/README.md b/tools/flaky-test-reporter/README.md new file mode 100644 index 0000000000..3329b8a026 --- /dev/null +++ b/tools/flaky-test-reporter/README.md @@ -0,0 +1,55 @@ +# flaky-test-reporter + +flaky-test-reporter is a tool that identifies flaky tests by retrospectively analyzing continuous flows, tracks flaky tests with Github issues, and sends summary of flaky tests to Slack channels. + +## Basic Usage + +Flags for this tool are: + +* `--service-account` specifies the path of file containing service account for GCS access. +* `--github-account` specifies the path of file containing Github token for Github API calls. +* `--slack-account` specifies the path of file containing Slack token for Slack web API calls. +* `--dry-run` enables dry-run mode. + +### IMPORTANT: This tool is _NOT_ intended to run locally, as this could interfere with real Github issues and potentially flood Knative Slack channels + +For debugging purpose it's highly recommended to start with `--dry-run` flag, by passing this flag it will only collect information from GCS/Github/Slack, and all the manipulations of Github/Slack resources are omitted. + +## Prow Job + +There is a prow job that triggers this tool at 4:00/5:00AM(Day light saving) everyday. + +## Considerations + +### Criterias for a test to be considered flaky/passed + +This tool scans latest 10 runs. A test is considered flaky if it failed in some but not all runs. For a test to be considered pass, it has to pass in all runs. Exceptions are test being ignored or omitted, these may be results of bad runs or test being omitted for any reason, which is tolerized for up to 2 runs. For example, if a test passed 8 times and skipped/omitted 2 times, it's still considered pass. + +### Logics for Github issue to be created/closed/reopened + +See diagram below + +![alt text](flowchart.png) + +### Github Issue deduplication + +Efficient deduplication is crucial for the sustainability of this tool, and this can be achieved by associate issue with test by unique identifiers. There are 2 identifiers associated with each flaky issue: + +* `auto:flaky` label. This tool adds this label when creating issues, and only manages issues with this label +* `[DONT_MODIFY_TEST_IDENTIFIER]...[DONT_MODIFY_TEST_IDENTIFIER]` section in issue body. Issue with `auto:flaky` label but not this identifier is considered abnormal and this tool will stop at information collection phase. + +### Minimize Noise + +#### Too many flaky tests identified + +When there are too many tests found to be flaky, most likely something abnormal is going on, and we don't want to create Github issues for all of them, or list all of them in Slack notifications. There is a threshold defined in [`config.go`](config.go), if the flaky rate went over the threshold there will be only 1 Github issue created, and Slack notification will not list all flaky tests. + +#### Github issue updates + +This tool runs everyday, and leaves comments on existing issues everyday, to avoid flooding the issue with comments, all histories are written into the first comment by prepending it in a collapsible format, like example below: + +```Markdown +PLACEHOLDER for contents of latest results + +>Click to see older results +``` diff --git a/tools/flaky-test-reporter/flowchart.png b/tools/flaky-test-reporter/flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..425c47d16f29f0eb8df0e3f6465944da077a2787 GIT binary patch literal 50373 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 literal 0 HcmV?d00001