[libvirt PATCH 00/33] ci: Unify the GitLab CI jobs with local executions && adopt lcitool container executions

Daniel P. Berrangé berrange at redhat.com
Fri Sep 1 09:26:26 UTC 2023


On Fri, Sep 01, 2023 at 11:21:04AM +0200, Erik Skultety wrote:
> On Thu, Aug 31, 2023 at 05:17:13PM +0100, Daniel P. Berrangé wrote:
> > On Fri, Aug 25, 2023 at 07:55:08PM +0200, Erik Skultety wrote:
> > > Technically a v2 of:
> > > https://listman.redhat.com/archives/libvir-list/2023-February/237552.html
> > > 
> > > However, the approach here is slightly different and what that series said
> > > about migration to lcitool container executions as a replacement for
> > > ci/Makefile is actually done here. One of the core problems of the above
> > > pointed out in review was that more Shell logic was introduced including CLI
> > > parsing, conditional executions, etc. which we fought hard to get rid of in the
> > > past. I reworked the Shell functions quite a bit and dropped whatever extra
> > > Shell logic the original series added.
> > > Obviously we can't get rid of Shell completely because of .gitlab-ci.yml and so
> > > I merely extracted the recipes into functions which are then sourced as
> > > ci/build.sh and executed. Now, that on its own would hide the actual commands
> > > being run in the GitLab job log, so before any command is actually executed, it
> > > is formatted with a color sequence so we don't miss that information as that
> > > would be a regression to the status quo.
> > > 
> > > Lastly, this series then takes the effort inside the ci/build.sh script and
> > > basically mirrors whatever GitLab would do to run a job inside a local
> > > container which is executed by lcitool (yes, we already have that capability).
> > > 
> > > Please give this a try and I'm already looking forward to comments as I'd like
> > > to expand this effort to local VM executions running the TCK integration tests,
> > > so this series is quite important in that regard.
> > 
> > Do you have a gitlab branch with this contnt somewhere. When i tried to
> > apply the patches to current git, it was unhappy on the 3rd patch
> > 
> > $ git am -3 ~/cibuild
> > Applying: ci: build.sh: Add variables from .gitlab-ci.yml
> > Applying: ci: build.sh: Add GIT_ROOT env helper variable
> > Applying: ci: build.sh: Don't mention that MESON_ARGS are available via CLI
> > error: sha1 information is lacking or useless (ci/build.sh).
> > error: could not build fake ancestor
> > Patch failed at 0003 ci: build.sh: Don't mention that MESON_ARGS are available via CLI
> > hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > When you have resolved this problem, run "git am --continue".
> > If you prefer to skip this patch, run "git am --skip" instead.
> > To restore the original branch and stop patching, run "git am --abort".
> 
> Yeah, I had a different merge conflict locally, but I guess both related to
> b68d253c4603a041cb993fa133ba25e610a78929 not having been pushed yet and the
> time I posted the series.

Yeah, I eventually figured out b68d253c4603a041cb993fa133ba25e610a78929 was
the problem and applied your series before that commit to test it.

With 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