On Wed, 2022-01-12 at 09:13 -0800, Adam Williamson wrote:
>
> I guess the smallest 'fix' for this would be to make all packages from
> the update *available* to dnf during this test (in case the package
> under test has interdependencies with the other packages in the update,
> which is likely why they're bundled together), but only have it assert
> that *subpackages of the specific package under test* are installable.
> As long as the test is claimed to be a test of the *package* and not
> the *update*, it shouldn't fail if a subpackage of *some other package
> in the update* is not installable.
Additional: so after writing out this email I thought, hey, I'll go
find the source for this test and see if I can fix it.
Whew, boy.
First I went to the CI docs. These do describe the generic tests:
https://docs.fedoraproject.org/en-US/ci/generic_tests/
but provide no information about where the tests actually *come from*
(so where you could go to modify them).
Next I checked my Firefox history and remembered there's a Pagure
"fedora-ci" team, so I checked the projects under that, but found
nothing relevant:
https://pagure.io/group/fedora-ci
so I resorted to web searching. On a search for "fedora rpminspect" (I
picked rpminspect as it's a fairly 'unique' name of one of the generic
tests) the sixth result was
https://github.com/fedora-ci/rpminspect-pipeline , which seems to be
the actual implementation of the rpminspect test pipeline. So there's a
github fedora-ci as well as the Pagure fedora-ci? Okay. I checked that
group's list of projects and found the installability pipeline:
https://github.com/fedora-ci/installability-pipeline
but my search didn't end there, because the test code isn't in the
pipeline repo, it pulls it from elsewhere. I had to figure that out. I
found it in the 'prepare.sh' script, where it adds a COPR repo and
installs a package:
https://github.com/fedora-ci/installability-pipeline/blob/master/prepare....
so that told me the actual test code was coming from this 'mini-tps'
package in this COPR repo. So now I had to go to the COPR repo and
check the spec file:
https://copr-dist-git.fedorainfracloud.org/cgit/msrb/mini-tps/mini-tps.gi...
which finally told me the URL is
https://gitlab.cee.redhat.com/osci/mini-tps . Which...is behind the Red
Hat firewall.
So I had to go through like seven steps of investigation to find the
actual test code here, and discover that only Red Hat employees can
actually access the git repo at all, for a Fedora CI "generic" test.
This seems...not optimal?
Welp, never mind, seems that was all a wild goose chase. I think I got
the wrong pipeline. I don't know what the installability pipeline is
for or when (if ever) it's run, but from the Jenkins log:
but I have no idea how to figure out what that pipeline runs. So I just
can't find the code for this test at all. I guess this is the same
problem Vit Ondruch ran into recently, except in this case, it doesn't
appear that the test itself helpfully logs what it was that got run and
how.
--
Adam Williamson
Fedora QA
IRC: adamw | Twitter: adamw_ha