-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
fmf: Run cockpit-podman tests on current Fedora #19155
Conversation
All the previous testing-farm: tests are now called *-self. There is one extra status now, "testing-farm:fedora-38-x86_64:revdeps". See the TF report, this runs podman. Search the test log for
|
8a6c475
to
1002ce7
Compare
I have a few questions unrelated to landing:
|
The cleanest way would be to just add another
Correct. That will be my next step.
Good idea in principle, but AFAIK they still use a "send patches to ML" based workflow, so I'm not sure how that would work?
Yes, we can choose to only run the /storage scenario. They are all reasonably fast these days. That "willing to wait" is of course a conversation to have with every dependency that we want to hook into, but their own CI will also take at least some time.
Already on it, see link in the description 😁 |
This ensures that changes to the Python bridge don't break podman.
1002ce7
to
64d8723
Compare
Does that run in parallel then? That would be my only concern.
They are on Gitlab now! The tricky part is of course that libvirt has many split repositories and we have had issues with
Indeed, I think storage takes ~ 10 minutes. But, we have to figure out if all our critical storage tests can run on packit and I'm afraid they might not:
FYI: the seem to want to add packit storaged-project/udisks#1080
👍 |
Yes, each test plan runs in its own VM, in parallel. That said, TF only gives you up to 5 VMs in parallel.
Ah, nice! They don't use packit at all yet, but packit does support GitLab. So that'd be the first step, move their spec files etc. upstream and start building rpms and running tests in gitlab MRs.
Yes, of course only the nondestructive tests run. I recently converted some more in PR #19102, and we have coverage at least for plain disks/partitions and LVM and such. But no stratis and VDO indeed. That may be some motivation to enable these on tmt 😁 |
What if podman does a breaking change (valid or not), and we want to change our test this get this green, how would we test against a newer podman to validate our changed test works? Example, they rename |
@jelly Well, one of the points of reverse dependency testing is to stop them from breaking the API 😁 But if it happens, it could be done like this:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥳
@martinpitt just for correction, it is |
This ensures that changes to the Python bridge don't break podman.
This introduces reverse dependency testing on the upstream level. Details and experiments are in #19117 -- especially with a commit that breaks the bridge, and the revdeps run installs c-ws from the PR packit COPR and c-podman from the main-builds COPR, and the podman tests fail as expected on the "KABOOM".
This particular test could be optimized, and only run on changes to src/ (bridge or ws), as these are the only things that actually affect cockpit-podman. There is a mechanism to do that with packit, which I tested that martinpitt#16. But this doesn't work with the default GITHUB_TOKEN, and thus would require faffing around with more secrets. I shelved that for now. While cockpit → cockpit-podman testing is marginally useful, I really want this to be a model PR for triggering podman → cockpit-podman, or selinux-policy → cockpit. For these, we don't need conditional runs.
Once this lands, I'll do a blog post about all of this (see current draft), and propose it to podman, selinux, and udisks. The latter could even replace our "daily" scenario on fedora-testing, or at least improve it ("shift left") -- stop regressions before they land upstream, instead of after the fact.