On Sun, Nov 28, 2021 at 3:44 PM Nir Soffer <nsof...@redhat.com> wrote:
>
> On Sun, Nov 28, 2021 at 12:41 PM Nir Soffer <nsof...@redhat.com> wrote:
> >
> > On Fri, Nov 26, 2021 at 7:44 PM Marcin Sobczyk <msobc...@redhat.com> wrote:
> > >
> > > Hi All,
> > >
> > > I've been working on adding GitHub Actions-based CI to vdsm today.
> > > Feel free to check out the patches here:
> > >
> > > https://gerrit.ovirt.org/q/topic:%22github-actions-ci%22+(status:open%20OR%20status:merged)
> >
> > Awesome!
> >
> > > Some comments:
> > > - the linters work fine already, we can start using them
> > >
> > > - RPM building works too in general. I think the RPM versions are not
> > > right yet,
>
> rpm versions are corrected by:
> - pushing current master to your fork
> - pushing --tags to your fork
> - using "check-depth: 0" option for actions/checkout@v2
>
> >  so I'll look into this. After the 'rpm' job is done we get a
> > > zipfile with all the built RPMs inside. In the future we may want to run
> > > 'createrepo_c' on this dir as well, so we'll have a ready-to-be-used
> > > repository in that zip.
> >
> > We already have code to do this in automation/common.sh - can we
> > reuse it or extract it to new script?
> >
> > > - 'tests' are working too, but we have a couple of failures we'd need to
> > > look at. This job, unlike the others, runs in GitHub's Ubuntu VM inside
> > > which we use a privileged container for running the tests.
> >
> > The failure seems to be missing TRAVIS_CI=1 environment variable.
> > This should of course change to something moer generic like CONTAINER_CI=1
> > and the helper modules tests/testing.py should be updated.
>
> Tests pass adding
>
>    env:
>      TRAVIS_CI=1
>
> Ugly but works :-)
>
> > > - didn't try 'tests-storage' yet
> >
> > That's fine, the storage team will handle this.
>
> Added storage tests here:
> https://github.com/nirs/vdsm/commit/0e5282945e4c86e65d5a1c12987e7534f350f2f2
>
> > > - Not to waist precious free CI minutes and storage, we run linters
> > > first, tests after that, but only under the condition that the linters
> > > didn't fail, and finally we build RPMs, but this time under the
> > > condition that the tests didn't fail.
> >
> > This is very bad idea. We want to run all the jobs in parallel so we
> > can get quick feedback from all jobs at the same run. There is no real
> > dependency between the jobs, and we don't waste resources by running
> > them in parallel.
>
> Here is a build with all jobs running in parallel, finish in 6.5 minutes:
> https://github.com/nirs/vdsm/actions/runs/1512754118
>
> I think we can add install tests to the rpm job.
>
> This is at least 3 times faster than jenkins.
>
> We can start using github CI now.

Here is also (much simpler) CI pipeline for gitlab:
https://gitlab.com/nirs/vdsm/-/commit/dfaaf8f7311501307e4269fc0b427417ff5264d3

It works, except 3 network tests that need privileged container:
https://gitlab.com/nirs/vdsm/-/pipelines/417881870

Network short summary:
= 1 failed, 310 passed, 32 skipped, 4 xfailed, 2 xpassed, 1 warning, 2
errors in 17.12s =

The long test (tests-storage) took 6 minutes, a little faster than github.

The lint job is slower (, since gitlab provides a VM with one core,
but our longest tests
(storage) are not cpu bound, so it does not matter.

The rpm job creates rpms correctly without jumping through any hoops:
https://gitlab.com/nirs/vdsm/-/jobs/1826841070

Looks like both github and gitlab gives us better CI with very little effort.

Nir
_______________________________________________
Devel mailing list -- devel@ovirt.org
To unsubscribe send an email to devel-le...@ovirt.org
Privacy Statement: https://www.ovirt.org/privacy-policy.html
oVirt Code of Conduct: 
https://www.ovirt.org/community/about/community-guidelines/
List Archives: 
https://lists.ovirt.org/archives/list/devel@ovirt.org/message/U7ALQN3A4PGHRHROAHDV5PKDYNPOEQJM/

Reply via email to