-
Notifications
You must be signed in to change notification settings - Fork 329
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(IDX): don't run tests that take longer than 5 mins on PRs (#2017)
What === This PR proposes to forbid running tests in ci-main/bazel-test-all, that take longer than 5 minutes on PRs and instead only run them on pushes to master or when manually triggered via workflow_dispatch. Why === IDX has the ambitious goal of having a 20 minute 90th percentile of the duration of CI Main on PRs. See the top charts on the [GitHub IC Stats & SLO](https://superset.idx.dfinity.network/superset/dashboard/3/) dashboard for the current statistics (at the time of writing we're at around 31 minutes). Currently the dominating actions on critical paths on PRs are taken up by long running tests. To not suffer from these long running tests we propose to institute a rule that forbids tests taking longer than 5 minutes on PRs. Instead these tests have to move to a new workflow that runs these tests on a push to master. How === * The chart [Bazel Test All / P90 Test Duration / From Last Week Onwards](https://superset.idx.dfinity.network/explore/?slice_id=48) shows the 90th percentile of the duration of bazel tests on PRs (bazel-test-all) from last week till now. * All tests in that chart that take longer than 5 minutes have been tagged with `long_test`. * Why 5 minutes? On average system-tests on PRs take 3.6 minutes. 5 minutes seems like a nice round number. * IDX will keep an eye on that chart and will periodically move offending tests to `long_test`. * `ci-main/bazel-test-all` sets `--test_tag_filters=-long_test` on `pull_request` and `merge_group` events to prevent running these long tests on PRs. * Note that `ci-main/bazel-test-all` also runs for every push to master. It will then run the long_tests so in case there's a regression it's easy to determine which commit introduced it. Future Work === * We could consider moving the system-tests tagged with `system_test_hourly` to `long_test` as well and remove the `bazel-system-test-hourly` job from the `schedule-hourly` workflow to simplify CI. * IDX will likely introduce a Superset chart that shows for every test failure on master the first commit where the failure occurred. This will help us quickly finding the commit that introduced a regression. --------- Co-authored-by: IDX GitHub Automation <IDX GitHub Automation>
- Loading branch information
1 parent
da6ea99
commit a25a338
Showing
19 changed files
with
162 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.