Re: FreeCAD dist-git check, WAS:Re: Aggressive updating (Python 3.9): Are we trying to hard?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Petr,

On Fri, May 22, 2020 at 9:29 AM Petr Pisar <ppisar@xxxxxxxxxx> wrote:
>
> On Thu, May 21, 2020 at 07:29:35PM +0200, Aleksandra Fedorova wrote:
> > On Thu, May 21, 2020 at 7:04 PM Richard Shaw <hobbes1069@xxxxxxxxx> wrote:
> > >
> > > On Thu, May 21, 2020 at 11:56 AM Aleksandra Fedorova <alpha@xxxxxxxxxxxx> wrote:
> > >>
> > >> To run the command above as the integration test you need to put
> > >> tests/tests.yml file in dist-git repo with the following content:
> > >>
> > >> - hosts: localhost
> > >>   roles:
> > >>   - role: standard-test-basic
> > >>     tags:
> > >>     - classic
> > >>     tests:
> > >>     - simple:
> > >>         dir: .
> > >>         run: "FreeCAD -t 0"
> > >>
> > >> Note how here you will be using the install FreeCAD binary, not the local one.
> > >
> > >
> > > Is this only run on "real" builds, or is it possible to run locally or for scratch builds?
> >
> > We run it for pull-requests and for "real builds.
> >
> > It runs in the following way:
> >
> > 1) we take latest Fedora Rawhide qcow image,
> > 2) we run virtual machine via qemu-kvm from it,
> > 3) inside the vm we install the package,
> > 4) we run the command defined by "run" key in that YAML file.
> >
> > And it is all orchestrated by Ansible.
> >
> > It is possible to reproduce the test locally with all the CI wrappers
> > around it, but I wouldn't recommend it. To debug the test I would just
> > run the VM with the same Rawhide image [1], install the package and
> > run the test command manually.
>
> I'd like to point out that there is a difference in the enviroments between
> these two approaches.
>
> While the manual procedure only installs a binary package (and its
> dependencies), the OSCI procedure installs all binary packages produced by the
> source package (and their depenencies).

You are right here. Jenkins pipeline tries to install all packages
from the koji build before running the test.

And this approach has already hit us many times: there are packages
where binary subpackages conflict with each other (as in curl), or
where different tests require different subpackages to be installed.
There is also a case for reverse dependency check, where we would like
to run test suite from a package A to test the package B, where the
koji build we are installing is different from what is expected by the
test.

In Fedora CI SIG we are discussing if we should just disable this
functionality and make it mandatory to specify all packages explicitly
in the tests.yml under "required_packages" tag, as in [1]

The downside is:
 you would need to maintain list of required packages in the tests.yml

We haven't brought this topic to a wider audience yet, but we should.

> In case of freecad, it does not matter, because the freecad component has only
> one binary package. But in general it's not true.
>
> And here I'd like to ask Aleksandra whether the same applies to modules or
> not. In general case, a module build produces two binary modules - a non-devel
> module and a devel module. Does OSCI install components from both of them? And does
> it install the components explicitly, or does it rather install a default
> profile of the module ("dnf module install" command)?

We don't have test for modules yet in Fedora CI. So I would say the
question here is:

how do you like it to work?

We can do "dnf module install" but then the same issues would appear:
if you need additional flexibility to test parts of the module, you
would need to revert this default behavior somehow.
Or we can do nothing and only provide environment with repositories
with the updates. So that configuration of the environment is done in
the test metadata.

[1] https://docs.fedoraproject.org/en-US/ci/how-to-add-dist-git-test/#_tests_in_a_subpackage


-- 
Aleksandra Fedorova
bookwar
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux