From 7f4e4bfd189f0d8f60f3b9b56b49b7aec592667a Mon Sep 17 00:00:00 2001 From: lmoresi Date: Wed, 12 Aug 2026 16:11:25 +1000 Subject: [PATCH] =?UTF-8?q?CI:=20pin=20UCX=20to=20tcp,sm,self=20=E2=80=94?= =?UTF-8?q?=20the=20MANA-NIC=20verbs=20flake=20dies=20here?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some Azure runners advertise an InfiniBand verbs device (mana_0) that UCX cannot open; MPI_Init aborts inside the import smoke test before any underworld3 code runs. Four hits in a week across #466/#526/#527 (issues #461/#528), each fixed by re-rolling the runner lottery. A single-node CI runner needs only shared memory and TCP, so pin the transports at the workflow level - it covers the smoke test and every pytest batch alike. Underworld development team with AI support from Claude Code --- .github/workflows/build_uw3_and_test.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build_uw3_and_test.yaml b/.github/workflows/build_uw3_and_test.yaml index 9fa0e8a2..1798bc76 100644 --- a/.github/workflows/build_uw3_and_test.yaml +++ b/.github/workflows/build_uw3_and_test.yaml @@ -19,6 +19,15 @@ on: workflow_dispatch: +env: + # Some Azure runners carry a MANA NIC whose InfiniBand verbs device UCX + # advertises but cannot open: uct_iface_open(ud_verbs/mana_0) fails inside + # MPI_Init, so `import underworld3` dies before any UW3 code runs (issues + # #461/#528 — four hits in the first week of 2026-08, each costing a manual + # re-roll). A single-node CI runner needs only shared memory and TCP, so pin + # the UCX transports and retire the whole flake class. + UCX_TLS: tcp,sm,self + jobs: test: runs-on: ubuntu-latest