From f688d7cc8ed54fbfb2a6b84ebe1a0f3baa337b68 Mon Sep 17 00:00:00 2001 From: Michael Johnson Date: Fri, 2 Oct 2026 11:02:59 +0100 Subject: [PATCH 1/2] Use scipy 1.18.1 so the arm64 image installs a wheel scipy 1.14.1 publishes a musllinux wheel for x86_64 only. On arm64 pip fell back to a source build, which stopped at "Unknown compiler(s): [['gfortran'], ...]" and failed the image build. Releases from 1.15.2 ship a musllinux aarch64 wheel; 1.18.1 is the current one and accepts the pinned numpy. The measure plugin's volume calculation is the only caller; its results are unchanged for every base method. --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ebd2d23e..7d64175c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -52,7 +52,7 @@ rio-cogeo==5.3.5 # Scientific Computing numpy==2.1.3 -scipy==1.14.1 +scipy==1.18.1 # Image Processing Pillow==11.0.0 From 8dfe04d71655b1a4ff90b6fb354ded9e1c590141 Mon Sep 17 00:00:00 2001 From: Michael Johnson Date: Fri, 2 Oct 2026 11:02:59 +0100 Subject: [PATCH 2/2] Build the image for amd64 and arm64 on pull requests The image is published for amd64 and arm64, but pull requests only built it on amd64, in the test job. An arm64 build failure could not be seen until after a merge to main. A second job now builds the published image, without the test build argument, on both platforms. The test job stays on amd64: the stack's database image, postgis/postgis, has no arm64 build. --- .github/workflows/test-docker.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/test-docker.yml b/.github/workflows/test-docker.yml index 6576e342..32325bbd 100644 --- a/.github/workflows/test-docker.yml +++ b/.github/workflows/test-docker.yml @@ -30,3 +30,19 @@ jobs: docker compose -f docker-compose.yml -f docker-compose.build.yml up -d sleep 20 docker compose exec -T webapp /webui/webui.sh test + + image: + strategy: + fail-fast: false + matrix: + platform: + - ubuntu-latest + - ubuntu-24.04-arm + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v7 + with: + submodules: 'recursive' + name: Checkout + - name: Build + run: docker build .