YAML anchors don't work with Shell condition structures, so we cannot simply reference the QEMU build template YAML anchor conditionally and hence have everything as part of a single job template. Instead, we have to "subclass" the .integration_tests template and inject the QEMU building bits explicitly. Signed-off-by: Erik Skultety <eskultet@xxxxxxxxxx> Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> --- ci/integration-template.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ci/integration-template.yml b/ci/integration-template.yml index 89fc3f0bae..e2ccebd1f6 100644 --- a/ci/integration-template.yml +++ b/ci/integration-template.yml @@ -87,3 +87,14 @@ - 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 -- 2.34.3