From 11d228d67b0059540fab1ace8df00c3e208a6e2b Mon Sep 17 00:00:00 2001 From: James Reilly Date: Fri, 29 May 2026 20:48:10 +0100 Subject: [PATCH 1/3] fix(argo): update stack annotation from qecore-headless to qecore The correct PyPI package name is 'qecore', not 'qecore-headless'. The binary installed by the qecore package is called qecore-headless, but the stack annotation should reference the canonical package name. Closes #160 --- argo/workflow-templates/run-gnome-tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/argo/workflow-templates/run-gnome-tests.yaml b/argo/workflow-templates/run-gnome-tests.yaml index 070a047..0ac04ab 100644 --- a/argo/workflow-templates/run-gnome-tests.yaml +++ b/argo/workflow-templates/run-gnome-tests.yaml @@ -4,7 +4,7 @@ metadata: name: run-gnome-tests namespace: argo annotations: - bluefin.io/stack: "qecore-headless + behave + dogtail + gnome-ponytail-daemon" + bluefin.io/stack: "qecore + behave + dogtail + gnome-ponytail-daemon" spec: serviceAccountName: argo templates: From d66da71f59ea8fd35b0afce8e1480e3786371aff Mon Sep 17 00:00:00 2001 From: James Reilly Date: Fri, 29 May 2026 20:50:31 +0100 Subject: [PATCH 2/3] fix(argo): replace unsupported 'contains' operator with '=~' in when conditions Argo Workflows v4 does not support the 'contains' operator in when expressions. Switch to '=~' (regex match) which is the supported equivalent. Affected templates: - bluefin-qa-pipeline.yaml: smoke, developer, software suites - dakota-qa-pipeline.yaml: smoke suite Closes #155 --- argo/workflow-templates/bluefin-qa-pipeline.yaml | 6 +++--- argo/workflow-templates/dakota-qa-pipeline.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/argo/workflow-templates/bluefin-qa-pipeline.yaml b/argo/workflow-templates/bluefin-qa-pipeline.yaml index 232b04e..62ec2ef 100644 --- a/argo/workflow-templates/bluefin-qa-pipeline.yaml +++ b/argo/workflow-templates/bluefin-qa-pipeline.yaml @@ -71,7 +71,7 @@ spec: # 3a. Phase 1 — smoke (behave + qecore, every PR) - name: run-smoke depends: "provision.Succeeded" - when: "'{{workflow.parameters.suites}}' contains 'smoke'" + when: "'{{workflow.parameters.suites}}' =~ 'smoke'" templateRef: name: run-gnome-tests template: run-gnome-tests @@ -91,7 +91,7 @@ spec: # 3b. Phase 2 — developer tools (sequential after smoke) - name: run-developer depends: "run-smoke.Succeeded" - when: "'{{workflow.parameters.suites}}' contains 'developer'" + when: "'{{workflow.parameters.suites}}' =~ 'developer'" templateRef: name: run-gnome-tests template: run-gnome-tests @@ -111,7 +111,7 @@ spec: # 3c. Phase 3 — software management (sequential, only if in suites list) - name: run-software depends: "run-developer.Succeeded" - when: "'{{workflow.parameters.suites}}' contains 'software'" + when: "'{{workflow.parameters.suites}}' =~ 'software'" templateRef: name: run-gnome-tests template: run-gnome-tests diff --git a/argo/workflow-templates/dakota-qa-pipeline.yaml b/argo/workflow-templates/dakota-qa-pipeline.yaml index b62660b..339145e 100644 --- a/argo/workflow-templates/dakota-qa-pipeline.yaml +++ b/argo/workflow-templates/dakota-qa-pipeline.yaml @@ -113,7 +113,7 @@ spec: # 5. Run smoke test suite against the provisioned Dakota VM - name: run-smoke depends: "provision.Succeeded" - when: "'{{workflow.parameters.suites}}' contains 'smoke'" + when: "'{{workflow.parameters.suites}}' =~ 'smoke'" templateRef: name: run-gnome-tests template: run-gnome-tests From f40f13d34d853da00c195918b2bb132576e1b293 Mon Sep 17 00:00:00 2001 From: James Reilly Date: Fri, 29 May 2026 20:53:11 +0100 Subject: [PATCH 3/3] fix(argo): add python3-gobject and at-spi2-core to runner deps dogtail requires 'gi' (GObject Introspection) at module load time, provided by python3-gobject. Additionally, qecore uses gi.repository.Atspi which requires the AT-SPI2 typelib from at-spi2-core. Neither was installed in the runner container. Closes #162 --- argo/workflow-templates/run-gnome-tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/argo/workflow-templates/run-gnome-tests.yaml b/argo/workflow-templates/run-gnome-tests.yaml index 0ac04ab..73838be 100644 --- a/argo/workflow-templates/run-gnome-tests.yaml +++ b/argo/workflow-templates/run-gnome-tests.yaml @@ -171,7 +171,7 @@ spec: echo 'Installing test dependencies...' >&2 sudo ostree admin unlock 2>/dev/null || true sudo dnf clean packages -q 2>/dev/null || true - sudo dnf install -y --quiet gnome-ponytail-daemon python3-gnome-ponytail-daemon 2>&1 | tail -3 + sudo dnf install -y --quiet gnome-ponytail-daemon python3-gnome-ponytail-daemon python3-gobject at-spi2-core 2>&1 | tail -3 pip3 --version &>/dev/null || python3 -m ensurepip --user 2>&1 | tail -2 python3 -m pip install --quiet --user qecore behave dogtail python-uinput 2>&1 | tail -3 for f in \$HOME/.local/bin/qecore_*; do sudo ln -sf \"\$f\" /usr/local/bin/\$(basename \"\$f\") 2>/dev/null; done