-
Notifications
You must be signed in to change notification settings - Fork 266
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
Run tests on GitHub builds #211
base: main
Are you sure you want to change the base?
Conversation
Going via the GitHub Actions tab brings people to the summary page first, but clicking Details in a PR will bring people to the log directly and skip the summary page. Print a message telling people to look at the summary.
Ignored tests (and failing OSes)
Failing, not yet ignored
|
- datatype-test-MapTest (Ubuntu 20) - allocator-test-SlabAllocatorTest (Ubuntu 18)
We really appreciate you working on this! This will save us so much time maintaining OSS builds going forward :-D
This test is expected to fail since it relies on adjusting page size. Internally, we also have this disabled on test services (since the test needs sudo permission to manipulate page size). "Util.SysctlTests" is also expected to fail because it expects to change overcommit settings in the kernel The other test failures are not expected. I'll go through the logs.
RocksDB team develops for OSS first and then imports into our internal source control. CacheLib and most other FB OSS projects develops primarily within FB's internal setup, and then a system picks up our changes and push to Github. It's a trade-off between internal dev velocity and OSS dev velocity. |
Sounds good! I hope it helps! Also, since GitHub Actions has free unlimited mins on OSS repos anyway, perhaps one could consider enabling CI on every push? Scheduled builds are helpful but one still needs to line up the timestamps and manually bisect the exact commit or code change that causes a break - plus, it's free anyway. Btw, is there any expectation that tests are run sequentially vs in parallel? |
- Group logs with each warning/error annotation - 1 warning annotation per failing/ignored test
Internally we run them in parallel. That said, sequential is fine as long as tests finish in a reasonable time.
Good to know. I wasn't aware github actions are free actually. Previously we had to pay for it (but maybe that was when we were first setting up this repo and it was private then). |
Generalize from segfaults to other things that cause core dumps
Test runner script
$TO_SKIP
$OPTIONAL
$OPTIONAL
tests have their failures ignored. List needs to be manually updated.$PARALLELISM = 10
)Trade-offs considered
$OPTIONAL
. If not, one can comment the last line ofrun_tests.sh
so that builds will not fail, with the disadvantage that one needs to view individual workflows to see the summary. (Or write a script to compile that)Build time impact (net gain):
Test plan:
Screenshots of job summary page (accessible via Checks tab on PRs, or in Actions tab)