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

build: fix itest parallelism #5734

Merged
merged 2 commits into from
Sep 15, 2021

Conversation

bhandras
Copy link
Collaborator

@bhandras bhandras commented Sep 15, 2021

The latest ARM build seems to have only ran half of the itests: https://app.travis-ci.com/github/lightningnetwork/lnd/jobs/537407681
This PR attempts to fix itest parallelism by fixing the number of tranches to the parallelism param.

@orijbot
Copy link

orijbot commented Sep 15, 2021

@guggero
Copy link
Collaborator

guggero commented Sep 15, 2021

I think this needs to be documented better as I tend to forget it myself as well all the time.
But the idea of having two separate variables (NUM_ITEST_TRANCHES and ITEST_PARALLELISM) is to be able to run the same test in parallel multiple times as part of the flake hunting.
That way I could do make itest-parallel tranches=1 parallel=8 icase=whatever_test to run the same test 8 times in parallel.

So I think we should just fix the Windows and ARM builds by specifying tranches=2 parallel=2 and perhaps document the differences?

@guggero
Copy link
Collaborator

guggero commented Sep 15, 2021

Thanks for noticing this by the way! Now I know why the Windows build was always successful, it also only ran half the tests (apparently the "easy" half).

@bhandras
Copy link
Collaborator Author

So I think we should just fix the Windows and ARM builds by specifying tranches=2 parallel=2 and perhaps document the differences?

Ah, ok! Sorry I think I remembered this from before now that you said it because I reviewed the original PR adding parallelism just forgot! :)

@bhandras
Copy link
Collaborator Author

Thanks for noticing this by the way! Now I know why the Windows build was always successful, it also only ran half the tests (apparently the "easy" half).

Funny because I didn't notice that the windows build was wrong 😅

@bhandras
Copy link
Collaborator Author

So I think we should just fix the Windows and ARM builds by specifying tranches=2 parallel=2 and perhaps document the differences?

Tbh I think our docs are good, I just didn't pay attention to the details: https://github.com/lightningnetwork/lnd/blob/master/docs/MAKEFILE.md#itest-parallel

@bhandras bhandras marked this pull request as ready for review September 15, 2021 08:32
@yyforyongyu
Copy link
Member

I think this needs to be documented better as I tend to forget it myself as well all the time.
But the idea of having two separate variables (NUM_ITEST_TRANCHES and ITEST_PARALLELISM) is to be able to run the same test in parallel multiple times as part of the flake hunting.
That way I could do make itest-parallel tranches=1 parallel=8 icase=whatever_test to run the same test 8 times in parallel.

So I think we should just fix the Windows and ARM builds by specifying tranches=2 parallel=2 and perhaps document the differences?

Yeah I thought we were splitting the tests into several parts and run them in parallel, like a MapReduce.

Copy link
Collaborator

@guggero guggero left a comment

Choose a reason for hiding this comment

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

This PR fixes the problem of only running half the itests. The ARM tests still aren't reliable but seem to fail much later, so maybe we can address those flakes individually.

So LGTM 🎉

Copy link
Member

@yyforyongyu yyforyongyu left a comment

Choose a reason for hiding this comment

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

LGTM⚡️

@guggero guggero merged commit 15ec974 into lightningnetwork:master Sep 15, 2021
@bhandras bhandras deleted the itest_parallelism branch September 12, 2023 15:27
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.

4 participants