-
Notifications
You must be signed in to change notification settings - Fork 31
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(tests): split container/compile-build and itests run steps in ci #1138
ci(tests): split container/compile-build and itests run steps in ci #1138
Conversation
This is the ci failure and it seems like podman isn't loading the cryostat.tar uploaded artifact correctly, and I'm not sure why. https://github.com/cryostatio/cryostat/actions/runs/3292962616/jobs/5429251837#step:3:11 |
GitHub Artifacts automatically zips files for storage and serves them back to you as a .zip when you try to download them back - take a look at the workflow run summary and scroll to the bottom: https://github.com/cryostatio/cryostat/actions/runs/3292962616 if you click the |
Or maybe I'm wrong and this action automatically unzips: actions/download-artifact#143 still worth checking, I guess. There's also a newer |
I don't think it's causing any problem here, but also:
There's probably an implicit |
It may also be worth trying to use the action cache instead of sharing the container image between steps as an artifact. I think that should work too, and it might be faster as well as not creating a long-lived (90 days default) permalink to the intermediate container image. But let's get this flow working first with the artifact approach, and then try simplifying it to use the cache later. |
Doesn't look like its getting zipped twice but this looks interesting: https://github.com/cryostatio/cryostat/actions/runs/3293293359/jobs/5429719411#step:4:11 Weird that it just looks like it's not actually downloading any data. |
Oh yea, shoot... Okay, new plan I guess, try using the cache now instead of an artifact :-/ |
Well, I specified podman to output to cryostat.tar like The |
Wait, GitHub says you should be able to use artifacts between jobs within a workflow: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts |
I think the artifacts route really should work: so maybe don't try to rip it out in favour of the cache just yet. If we keep it on artifacts then that also makes #1133 easier, or at least manually downloading the images to test is a possibility too which would still be neat. |
40e45bb
to
607ad21
Compare
I believe it should work now, but I still have a few questions.
Or maybe just use mvn directly with all the correct flags and such?
|
And on a side note, I can't seem to get the rerunFailedTests config to work with maven failsafe, and I think it has something to do with providers: https://maven.apache.org/surefire/maven-failsafe-plugin/examples/providers.html. There is a note at the top of the link https://maven.apache.org/surefire/maven-failsafe-plugin/examples/rerun-failing-tests.html |
With a separated out integration test run I guess this is not so important. Re-running the flaky tests is not such an inconvenience anymore. We should still know about the flaky test runs and see that the failures are occurring, so even if
I believe this is to do with the
Good insight. Yep, passing variables directly or just invoking I was thinking that the
I guess this comes down to what paths are cached by that action and where the dependencies are being downloaded to. Maybe the action isn't caching as much as we think it should. https://github.com/marketplace/actions/maven-cache You could try using the more generic cache action: https://github.com/actions/cache and cache the whole |
This was added to fix https://github.com/cryostatio/cryostat/issues/1007 when we started syncing the web-client submodule. |
8d67c4c
to
3fe819c
Compare
Gonna say it's ready now for actual review now. The caching should be fine for the integration tests, it doesn't take that long anyways only 10 seconds or so, and the caching for the shellcheck, spotless, spotbugs, doesn't really matter since its concurrent. The existing caching action does cache the entire m2 folder, but it only detects changes in the pom.xml files. I think there is a need to update the mergability |
…res dependency resolution of artifacts in scope: test
…n compile in a concurrent runner
c972937
to
e9bf290
Compare
I can do that but I think this PR needs to be merged first, and then I can update the repo settings to make those required. |
@maxcao13 looks like https://github.com/cryostatio/cryostat/actions/runs/3300643166/jobs/5445469164 |
Uh oh, I'll see what's wrong. |
Oh, I just forgot to checkout the branch again I think. |
Fixes #1108