[libvirt PATCH 4/5] gitlab: add several native CI jobs

Daniel P. Berrangé berrange at redhat.com
Fri Mar 20 15:31:24 UTC 2020


On Fri, Mar 20, 2020 at 04:18:58PM +0100, Erik Skultety wrote:
> On Fri, Mar 20, 2020 at 02:59:36PM +0000, Daniel P. Berrangé wrote:
> > On Fri, Mar 20, 2020 at 03:52:15PM +0100, Erik Skultety wrote:
> > > On Tue, Mar 10, 2020 at 10:09:44AM +0000, Daniel P. Berrangé wrote:
> > > > With GitLab CI aiming to replace Jenkins and Travis for CI purposes, we
> > > > need to expand the coverage to include native builds. This patch adds
> > > > all the jobs currently run in Travis. Compared to Jenkins we obviously
> > > > miss the FreeBSD jobs, but also Debian 10 and Fedora 30, but we gain the
> > > > Ubuntu 1804 job as a substitute for Debian.
> > > >
> > > > Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> > > > ---
> > > >  .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++++++++++++
> > > >  1 file changed, 41 insertions(+)
> > > >
> > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > > index e28ec584ea..3e15d08d17 100644
> > > > --- a/.gitlab-ci.yml
> > > > +++ b/.gitlab-ci.yml
> > > > @@ -1,7 +1,39 @@
> > > >  stages:
> > > >    - website
> > > > +  - native_build
> > > >    - cross_build
> > > >
> > > > +
> > > > +.native_build_job_template: &native_build_job_definition
> > > > +  stage: native_build
> > > > +  script:
> > > > +    - mkdir build
> > > > +    - cd build
> > > > +    - ../autogen.sh $CONFIGURE_OPTS || (cat config.log && exit 1)
> > > > +    - make -j $(getconf _NPROCESSORS_ONLN) syntax-check
> > > > +    - make -j $(getconf _NPROCESSORS_ONLN) distcheck
> > >
> > > I think ^this should more closely follow what we have in the lcitool playbooks,
> > > e.g. start with:
> > >     - rm -rf build
> >
> > The source tree is already pristine because this is always executed in
> > a fresh container environment, so there's nothing that will need deleting.
> 
> Right, but my point was that if e.g. we introduce a FreeBSD builder, we'd want
> to reference the same job template in which case the directory will exist.

I've not looked in great detail about how gitlab runners work, but something
on the runner needs to be responsible for checking out the git repo before
any of this gitlab-ci.yml scrpit runs.

IMHO that can ensure it is "git clean -xdf" so that its state matches what
we see with the built-in shared runners build environment.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list