-
Notifications
You must be signed in to change notification settings - Fork 9
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 RHEL rpminspect tests #562
Comments
@kwk I thought I'd chime in and share some thoughts about this. Some key points about rpminspect:
For the llvm-snapshots use case there are some things we need to take into account, as we'll probably need to script it from scratch. The following points only consider running rpminspect via some script, leaving out any considerations regarding integration with the snapshots manager, the github issues, labels, recovering testing-farm runs, etc...
As for snapshots manager integration, without having deep knowledge of the code to make an informed guess, looks like a refactor would be needed:
|
@jchecahi thank you for your thoughts and ideas. Does rpminspect need to run on the OS and architecture that RPMs are dedicated for?
As long as the RPM itself is good enough, a local download of the RPM should be fine.
What scripts are you talking about?
The "last good" chroot can always be found here: https://copr.fedorainfracloud.org/coprs/g/fedora-llvm-team/llvm-snapshots/ . "Good" currently does not respect good rpminspect results for now of course. But once we integrate rpminspect, it can certainly vote before a build gets promoted.
Okay, this bit is tricky but if we need testing-farm to run rpminspect anyways (see open question above) we should be able to reach internal Red Hat resources.
We do build more than just llvm. The
This is only partially correct. Indeed, we currently associate each chroot with just one testing-farm request but we do it explicitly and it should be easy to add another one. All we do is we store the association as an invisible HTML comment inside the issue body like this: <!--TESTING_FARM:fedora-rawhide-aarch64/e9fdbd5b-fdc1-4d7b-87b1-fb81d918bac8/7663432--> We could easily add another request by adding a comment like this with a different prefix: <!--TESTING_FARM_RPMINSPECT:fedora-rawhide-aarch64/a96484c5-8b9b-4fc7-aea9-168b9ede5c1a/7663432--> Then we associate the copr build ID ( All in all we don't find testing-farm requests but we remember them.
Are you referring to the
This is something we've done in the past extensively and it should be doable analogously. |
@kwk let me reply in line
No, not necessarily. rpminspect uses configuration files with profiles to ensure it's testing the requirements for the distro and release the build is targetted to. As a rough example you could run rpminspect in a rawhide system but pass the config files for RHEL, specifying the profile for RHEL-9. More important, can be run in any arch, so you can test s390x builds on x86_64 host.
There are existiting scripts that fedora-ci (and OSCI) use to run rpminspect on gated builds. rpminspect-runner for the script and rpminspect-pipeline for the actual CI config. As I mentioned before these work taking a koji task id. We can create our own using a similar approach but adding some extra steps to download the copr builds.
Yeah that makes sense. "last good" can be whatever we need it to be.
Yeah sorry I explained it very poorly. I meant, as we're building the big-merge strategy we're only building the
I see thanks for the explanation! I didn't take a very deep look at the python code as I focused more on the rpminspect part. These ideas sound very reasonable and (I think) easy to implement.
Yes, that one. It's probably not a big deal to either parametrize it or add another method that creates a different TF request, but I saw it and wanted to point it out :)
Sounds good! I think we can create a custom plan for running rpminspect on the snapshots. There are existing containers ready to run rpminspect (public for fedora, internal for RHEL) which we can use with TF. We can also write a wrapper script that gets the copr project and chroot as we do with functional tests. This script can retrieve the build, prepares whatever rpminspect config we need, run it, and report in a nicely way. |
@nikic I think you asked about this in our retrospective, right? I took the freedom to open a ticket for this here.
The text was updated successfully, but these errors were encountered: