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

[3.2] run nonparallel tests in parallel via separate docker containers #83

Merged
merged 1 commit into from
Aug 31, 2022

Conversation

spoonincode
Copy link
Member

@spoonincode spoonincode commented Aug 31, 2022

When running the nonparallelizable_tests & long_running_tests, run the tests safely in parallel by running each in a separate docker container.

I elected to implement this magic in a javascript action as I wasn't entirely sure I could get everything tracked correctly in a shell script. It's only ~60 line javascript, so easy enough to study I hope. There are some hardcoded uglies, in particular the baked in assumption that the workdir is /__w/leap/leap. It's hard to imagine the runner changing that. Also, probably the population of np-tests and lr-tests via ctest should just be done when the tests are actually run -- placing them in their current location only makes sense if we're going to populate a matrix with them, which we aren't: trying to spawn a VM per test like how a matrix would was just too overwhelming to the fleet; it'd be 200+ simultaneous VMs per build once we get tests on all platforms, pinned & ARM, clutched in.

But this approach seems good enough to last us until changes in eosnetworkfoundation/product#36 are ready, in my opinion.

ENF fleet has been modified to support a new runner type enf-x86-midtier which these tests run on. This is a 16vCPU/24GB VM currently. The NP tests generally idle about so being "over subscribed" a bit will hopefully not be a problem. Of course we can bump this up if need be. enf-x86-midtier is also running on the "give me whatever you got tier" which seems to be getting rather old Broadwell CPUs.

There is a failing workflow run at https://github.com/AntelopeIO/leap/actions/runs/2965522882 to verify that the logs from a failing test are uploaded correctly.

@spoonincode spoonincode added the CICD Anything dealing with the CI workflow behavior label Aug 31, 2022
@heifner heifner changed the title run nonparallel tests in parallel via separate docker containers [3.2] run nonparallel tests in parallel via separate docker containers Aug 31, 2022
@spoonincode spoonincode merged commit 9f4f9a7 into main Aug 31, 2022
@spoonincode spoonincode deleted the parallel_nonparallel branch August 31, 2022 23:10
heifner added a commit that referenced this pull request Apr 29, 2024
IF: Avoid error logging of errors that do not require action
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CICD Anything dealing with the CI workflow behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants