Skip to content

Conversation

@aduh95
Copy link
Contributor

@aduh95 aduh95 commented Jul 23, 2022

  • For tests that are listed as flaky, try running them 100 times until we get a passing one. If it keeps failing after 100 attempts, it's not flaky, it's broken.
  • For test failures from tests that are not marked as flaky, try to run them 10 times to get an idea if the test is flaky or broken.

Those changes only apply to GHA, Jenkins config is not on this repo AFAIK, and local runs are not affected as it doesn't change the defaults.

My hope is with such changes, we would be lenient on marking tests as flaky because the CI would check that are indeed flaky (currently, it would simply ignore its result).

Refs: #43929 (comment)
/cc @tniessen

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/actions

@nodejs-github-bot nodejs-github-bot added meta Issues and PRs related to the general management of the project. test Issues and PRs related to the tests. tools Issues and PRs related to the tools directory. labels Jul 23, 2022
@tniessen
Copy link
Member

Oh wow! You were quick to act on my suggestion!

@tniessen
Copy link
Member

cc @nodejs/build

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link
Member

@tniessen tniessen left a comment

Choose a reason for hiding this comment

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

The approach here looks like what I suggested, but I'd prefer if someone who's more familiar with make run-ci and tools/test.py takes a look, too.

@lpinca
Copy link
Member

lpinca commented Jul 23, 2022

The problem I see here is that it does not run tests on platforms where tests are flaky, for example arm or smartOS.

@aduh95
Copy link
Contributor Author

aduh95 commented Jul 23, 2022

The problem I see here is that it does not run tests on platforms where tests are flaky, for example arm or smartOS.

If this PR lands, the config of the Jenkins runners can be updated to take advantage of these changes, and can be applied to arm and/or SmartOS. Or do you mean something else?

@lpinca
Copy link
Member

lpinca commented Jul 23, 2022

If a test is flaky only a particular platform and we don't measure its flakiness on that particular platform how can we determine if it is flaky or broken?

@tniessen
Copy link
Member

I might be missing something; my suggestion was to measure flakiness on any platform where tests are marked as flaky.

@lpinca
Copy link
Member

lpinca commented Jul 23, 2022

That makes sense but from my understanding this uses only GHA platforms which is a small subset of the supported platforms.

@tniessen
Copy link
Member

My understanding is that this is limited to GHA only because Jenkins config lives outside of the repo, and once this lands, Jenkins could be adapted accordingly. Is that correct @aduh95?

@lpinca
Copy link
Member

lpinca commented Jul 23, 2022

Ah ok, I guess that's what @aduh95 wrote in #43954 (comment).

Copy link
Member

@tniessen tniessen left a comment

Choose a reason for hiding this comment

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

This needs to be adapted:

node/tools/test.py

Lines 1436 to 1438 in d29e78a

if options.flaky_tests not in [RUN, SKIP, DONTCARE]:
print("Unknown flaky-tests mode %s" % options.flaky_tests)
return False

@aduh95 aduh95 added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Jul 23, 2022
@F3n67u F3n67u added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. labels Jul 25, 2022
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Jul 25, 2022
@nodejs-github-bot nodejs-github-bot merged commit 2e4bcfc into nodejs:main Jul 25, 2022
@nodejs-github-bot
Copy link
Collaborator

Landed in 2e4bcfc

@aduh95 aduh95 deleted the track-flaky-tests branch July 25, 2022 19:52
@danielleadams danielleadams mentioned this pull request Jul 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. meta Issues and PRs related to the general management of the project. test Issues and PRs related to the tests. tools Issues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants