On Wed, Jan 12, 2022 at 7:09 PM Adam Williamson <adamwill@fedoraproject.org> wrote:
On Wed, 2022-01-12 at 09:33 -0800, Adam Williamson wrote:
> 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.sh#L9
>
> 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.git/tree/mini-tps.spec
>
> 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:

https://osci-jenkins-1.ci.fedoraproject.org/job/fedora-ci/job/dist-git-pipeline/job/master/101245/

it looks like this test was actually part of the "dist-git" pipeline:

https://github.com/fedora-ci/dist-git-pipeline

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.

The tests are actually in the lorax dist-git repo: https://src.fedoraproject.org/rpms/lorax/blob/f35/f/tests

However, you're probably looking for that package installation part that is currently failing in CI. This is a built-in feature of Testing Farm, so the code is probably somewhere here: https://gitlab.com/testing-farm
Unfortunately, I am not familiar with the codebase, so I don't know where to look exactly.

Thanks,
Michal
 
--
Adam Williamson
Fedora QA
IRC: adamw | Twitter: adamw_ha
https://www.happyassassin.net

_______________________________________________
CI mailing list -- ci@lists.fedoraproject.org
To unsubscribe send an email to ci-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/ci@lists.fedoraproject.org
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure