Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Daily CI to soak flaky tests #5382

Merged
merged 12 commits into from
May 1, 2024
Merged

Conversation

robin-aws
Copy link
Member

@robin-aws robin-aws commented Apr 30, 2024

Description

Setting up a daily scheduled build to run the LSP tests 5 times on each platform, in an effort to proactively uncover flaky test failures that show up at the worst possible time as you're trying to get your wonderful PR you've been working on for weeks merged or even worse that break the nightly build for the third day in a row forcing the team to drop everything to click Retry Failed Jobs two or three times before ANY PRs can be merged not that I'm frustrated or anything. :)

The PR CI was previously running the LSP tests twice every time for the same reason. Given this daily job will soak them more deeply, and that the osx unit test job on PRs in particular has been taking almost 45 minutes and becoming the limiting factor, I've opted to just run them once on PRs now.

Note that unlike the original double run, it was simpler to use matrices just as we do for integration tests, only in this case just iterating the same test run in parallel 5 times. It's possible running twice on the same runner might trigger more failures, but it seems unlikely since the second run happens in a fresh process and no state leaks between the runs AFAICT.

How has this been tested?

Dry-run on my fork: https://github.com/robin-aws/dafny/actions/runs/8914692810

I've run it a few times without any failures yet, but we'll have to see what happens after a week or so of scheduled runs.

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

@robin-aws robin-aws added the run-deep-tests Tells CI to run all tests label Apr 30, 2024
@robin-aws robin-aws removed the run-deep-tests Tells CI to run all tests label May 1, 2024
@robin-aws robin-aws closed this May 1, 2024
@robin-aws robin-aws reopened this May 1, 2024
@robin-aws robin-aws marked this pull request as ready for review May 1, 2024 21:14
Copy link
Contributor

@alex-chew alex-chew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@robin-aws robin-aws enabled auto-merge (squash) May 1, 2024 23:12
@robin-aws robin-aws merged commit 79c323d into master May 1, 2024
21 checks passed
@robin-aws robin-aws deleted the daily-ci-to-soak-flaky-tests branch May 1, 2024 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants