On Wed, May 11, 2022 at 03:03:18PM +0100, Daniel P. Berrangé wrote: > On Fri, May 06, 2022 at 05:35:19PM +0200, Erik Skultety wrote: > > YAML anchors don't work with Shell conditions structures, so we cannot > > simply pull in the QEMU build template conditionally like we do for > > the other anchors. Instead we have to 'subclass' the .integration_tests > > template and inject the QEMU building bits. > > > > Signed-off-by: Erik Skultety <eskultet@xxxxxxxxxx> > > --- > > ci/integration-template.yml | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/ci/integration-template.yml b/ci/integration-template.yml > > index d1934b1469..3bad143622 100644 > > --- a/ci/integration-template.yml > > +++ b/ci/integration-template.yml > > @@ -85,3 +85,14 @@ include: > > - if: '$LIBVIRT_CI_INTEGRATION' > > when: on_success > > - when: never > > + > > + > > +# YAML anchors don't work with Shell conditions so we can't use a variable > > +# to conditionally build+install QEMU from source. > > +# Instead, create a new test job template for this scenario. > > +.integration_tests_upstream_qemu: > > + extends: .integration_tests > > + before_script: > > + - !reference [.integration_tests, before_script] > > + - cd "$SCRATCH_DIR" > > + - *qemu-build-template > > If we're not pull in QEMU's external gitlab config, them presumably > this problem won't exist anymore. It will because either way you can't do something like ''' script: - if $VAR; then *template fi ''' so the original integration_tests template has to be further extended or the QEMU build needs to be opencoded inside with the latter being an inferior approach IMO. Erik