[libvirt PATCH v2 4/5] ci: Add a new integration job template for the upstream QEMU scenario

Erik Skultety posted 5 patches 1 month, 2 weeks ago
[libvirt PATCH v2 4/5] ci: Add a new integration job template for the upstream QEMU scenario
Posted by Erik Skultety 1 month, 2 weeks ago
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@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
 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