-
Notifications
You must be signed in to change notification settings - Fork 123
flowey: new xflowey vmm-tests command #1405
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
base: main
Are you sure you want to change the base?
Conversation
Oh wow this is exciting - I've been wanting to look at trying to implement this |
For example, to build everything for ARM and copy it to a windows directory:
Then run on the destination machine:
(I will document this and maybe include the command as a script file in the output dir) |
flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs
Outdated
Show resolved
Hide resolved
flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs
Show resolved
Hide resolved
Out of curiosity - is the idea of having a flowey-backed petri_artifact_resolver still something that's on folk's radar? This approach, where flowey drives nextest execution, has the unfortunate property of having to write and maintain an entirely new in-house CLI for executing tests (i.e: the new The inverse approach, where users invoke There's also the "middle ground" approach, where there is a Anyways, just some food for thought. If this is the easiest on-ramp to enable simple local test runs, then obviously #shipit *then again, you're already doing that in the CI case anyways, so as long as you've got good code-sharing between those two paths, maybe its not a big deal. |
Having So, I think we'd still want a wrapper command, even if we did more to automate the discovery of what needed to be built. |
Sounds like the hybrid, multi-command approach of having a i.e: a user workflow would look like:
If a "one click" wrapper is needed, it can certainly be implemented on-top of this workflow, but it really seems unfortunate to have yet another bespoke, complex in-house CLI for folks to memorize (vs. the relatively "simple" resolve-test-artifacts CLI I'm suggesting here). |
Thanks for your input Daniel, I think that some sort of json manifest with an automatic artifact resolver would be great. Maybe I'll work on that next, but for now I think this is a good first step to making it easier to run the vmm tests. I think either way, we'll want to have a wrapper command that does everything, so that improvement could slot into this design without much change to the interface. |
Hey, you know me - I've got no skin in the game here, just sharing my thoughts from afar 😉 The only other food-for-thought question I'll leave is wrt the long-term maintenance overhead of this current approach. As is, this approach seems to be taking a "procedural" approach to defining test classes + their corresponding artifact requirements, which means that as y'all onboard more tests, the wrapper will also need to be updated / tested to work correctly, right? Does that mean that subsequent PRs that introduce new tests will require manual, pre-commit validation from the author that they work correctly with If there's already buy-in with folks on the team that this will be part of the vmm_test authoring workflow, then sure, that seems workable. If not... it would be unfortunate if someone became the " I'll also note that - by going with a manifest based artifact resolver - you can always add something along the lines of a This is, of course, another stretch goal, but the point is that if you can execute on switching vmm-tests artifacts over to a declarative model for both local and in CI scenarios, you no longer need to worry (as much) about manually maintaining all these various test "classes" and "filters" and "artifact set". Instead - you simply declare what tests you want to run... and then the resolver figures everything out for you. |
e8e50e1
to
fff13c1
Compare
A new xflowey command that builds everything necessary to run the VMM tests.