From a2771031c59feb28bdb8c9cd13aa213ba1fc0142 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 17 Jul 2026 08:45:47 +0100 Subject: [PATCH] lib-tests: add autocti to the reusable library test workflow (PyAutoCTI#88) Adds the autocti case (deps PyAutoConf PyAutoFit PyAutoArray) and a conditional arcticpy install step: arcticpy is a source-only C++ sdist that needs libgsl-dev and whose own requirements downgrade numpy below 2.0, so numpy is installed first and arcticpy is built --no-build-isolation --no-deps. The step is a no-op for every other library. Co-Authored-By: Claude Fable 5 --- .github/workflows/lib-tests.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lib-tests.yml b/.github/workflows/lib-tests.yml index 18ad57d..15cf3e1 100644 --- a/.github/workflows/lib-tests.yml +++ b/.github/workflows/lib-tests.yml @@ -22,7 +22,7 @@ on: workflow_call: inputs: package: - description: "PyAuto package under test: autoconf|autofit|autoarray|autogalaxy|autolens" + description: "PyAuto package under test: autoconf|autofit|autoarray|autogalaxy|autolens|autocti" required: true type: string @@ -43,6 +43,7 @@ jobs: autoarray) repo=PyAutoArray; deps="PyAutoConf" ;; autogalaxy) repo=PyAutoGalaxy; deps="PyAutoConf PyAutoFit PyAutoArray" ;; autolens) repo=PyAutoLens; deps="PyAutoConf PyAutoFit PyAutoArray PyAutoGalaxy" ;; + autocti) repo=PyAutoCTI; deps="PyAutoConf PyAutoFit PyAutoArray" ;; *) echo "::error::unknown package '${{ inputs.package }}'"; exit 1 ;; esac echo "repo=$repo" >> "$GITHUB_OUTPUT" @@ -71,6 +72,17 @@ jobs: python-version: ${{ matrix.python-version }} cache: pip + - name: Install arcticpy (autocti only — source-only C++ sdist) + if: ${{ inputs.package == 'autocti' }} + run: | + # arcticpy needs GSL headers to compile, and installing it with its + # own requirements downgrades numpy below 2.0 — so numpy is installed + # first and arcticpy is built without deps or build isolation. + sudo apt-get update && sudo apt-get install -y libgsl-dev + pip install --upgrade pip setuptools wheel + pip install numpy + pip install arcticpy==2.6 --no-build-isolation --no-deps + - name: Install (deps + package from source, [optional] extras) run: | pip install --upgrade pip setuptools wheel