From 3490d28e0599569d72cec0035f4e5c0b7dc555db Mon Sep 17 00:00:00 2001 From: Stephen Nneji Date: Tue, 4 Nov 2025 13:03:55 +0000 Subject: [PATCH 1/4] updates runner os --- .github/workflows/build_wheel.yml | 6 +++--- .github/workflows/run_tests.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index 1a966d3..a9c77de 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: true matrix: - platform: [windows-2022, ubuntu-latest, macos-13, macos-14] + platform: [windows-latest, ubuntu-latest, macos-15-intel, macos-latest] env: CIBW_SKIP: 'pp*' CIBW_ARCHS: 'auto64' @@ -33,7 +33,7 @@ jobs: with: python-version: "3.x" - name: Install OMP (MacOS Intel) - if: matrix.platform == 'macos-13' + if: matrix.platform == 'macos-15-intel' run: | brew install llvm@20 libomp echo "export CC=/usr/local/opt/llvm@20/bin/clang" >> ~/.bashrc @@ -43,7 +43,7 @@ jobs: echo "export LDFLAGS=\"$LDFLAGS -Wl,-rpath,/usr/local/opt/libomp/lib -L/usr/local/opt/libomp/lib -lomp\"" >> ~/.bashrc source ~/.bashrc - name: Install OMP (MacOS M1) - if: matrix.platform == 'macos-14' + if: matrix.platform == 'macos-latest' run: | brew install llvm@20 libomp echo "export CC=/opt/homebrew/opt/llvm@20/bin/clang" >> ~/.bashrc diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index c201806..5bf278b 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - platform: [windows-2022, ubuntu-latest, macos-13, macos-14] + platform: [windows-latest, ubuntu-latest, macos-15-intel, macos-latest] version: ["3.10", "3.13"] defaults: run: @@ -36,7 +36,7 @@ jobs: with: python-version: ${{ matrix.version }} - name: Install OMP (MacOS Intel) - if: matrix.platform == 'macos-13' + if: matrix.platform == 'macos-15-intel' run: | brew install llvm@20 libomp echo "export CC=/usr/local/opt/llvm@20/bin/clang" >> ~/.bashrc @@ -46,7 +46,7 @@ jobs: echo "export LDFLAGS=\"$LDFLAGS -Wl,-rpath,/usr/local/opt/libomp/lib -L/usr/local/opt/libomp/lib -lomp\"" >> ~/.bashrc source ~/.bashrc - name: Install OMP (MacOS M1) - if: matrix.platform == 'macos-14' + if: matrix.platform == 'macos-latest' run: | brew install llvm@20 libomp echo "export CC=/opt/homebrew/opt/llvm@20/bin/clang" >> ~/.bashrc From 9a72deda5e8b003f158688bc52584d08a3df4b5a Mon Sep 17 00:00:00 2001 From: Stephen Nneji Date: Tue, 4 Nov 2025 13:30:19 +0000 Subject: [PATCH 2/4] Fix for plotting test failiure on Windows --- tests/conftest.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index bd35919..854dc9b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,6 +2,9 @@ import tempfile from pathlib import Path +import matplotlib + +matplotlib.use("Agg") import numpy as np import pytest From 912b9e59968a8b6898a2449d56247b97aacad998 Mon Sep 17 00:00:00 2001 From: Stephen Nneji Date: Tue, 4 Nov 2025 14:13:38 +0000 Subject: [PATCH 3/4] update cibuildwheel --- .github/workflows/build_wheel.yml | 9 +++++---- setup.py | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index a9c77de..c87574a 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -11,13 +11,14 @@ jobs: strategy: fail-fast: true matrix: - platform: [windows-latest, ubuntu-latest, macos-15-intel, macos-latest] + platform: [windows-latest, ubuntu-latest, macos-15-intel, macos-14] env: CIBW_SKIP: 'pp*' CIBW_ARCHS: 'auto64' CIBW_MANYLINUX_X86_64_IMAGE: 'manylinux_2_28' CIBW_PROJECT_REQUIRES_PYTHON: '>=3.10' CIBW_TEST_REQUIRES: 'pytest' + MACOSX_DEPLOYMENT_TARGET: '14.0' defaults: run: shell: bash -l {0} @@ -28,7 +29,7 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - - name: Set up Python version ${{ matrix.version }} + - name: Set up Python version uses: actions/setup-python@v4 with: python-version: "3.x" @@ -43,7 +44,7 @@ jobs: echo "export LDFLAGS=\"$LDFLAGS -Wl,-rpath,/usr/local/opt/libomp/lib -L/usr/local/opt/libomp/lib -lomp\"" >> ~/.bashrc source ~/.bashrc - name: Install OMP (MacOS M1) - if: matrix.platform == 'macos-latest' + if: matrix.platform == 'macos-14' run: | brew install llvm@20 libomp echo "export CC=/opt/homebrew/opt/llvm@20/bin/clang" >> ~/.bashrc @@ -66,7 +67,7 @@ jobs: export PATH="$pythonLocation:$PATH" CIBW_TEST_COMMAND='cd ${pwd}/tmp && python -m pytest tests' echo "CIBW_TEST_COMMAND=${CIBW_TEST_COMMAND}" >> $GITHUB_ENV - python -m pip install cibuildwheel==2.16.5 + python -m pip install cibuildwheel==2.23.3 python -m cibuildwheel --output-dir ./wheelhouse - uses: actions/upload-artifact@v4 with: diff --git a/setup.py b/setup.py index 38947e5..9f70ff7 100644 --- a/setup.py +++ b/setup.py @@ -69,7 +69,7 @@ class BuildExt(build_ext): } if sys.platform == "darwin": - darwin_opts = ["-stdlib=libc++", "-mmacosx-version-min=10.9"] + darwin_opts = ["-stdlib=libc++"] c_opts["unix"] = [*darwin_opts, "-fopenmp", "-O2"] l_opts["unix"] = [*darwin_opts, "-lomp"] From 342a854c104644f548c697beeaa0370123af8eaf Mon Sep 17 00:00:00 2001 From: Stephen Nneji Date: Wed, 5 Nov 2025 09:37:57 +0000 Subject: [PATCH 4/4] update action versions --- .github/workflows/build_wheel.yml | 4 ++-- .github/workflows/run_tests.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index c87574a..03176b7 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -26,11 +26,11 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: submodules: true - name: Set up Python version - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: "3.x" - name: Install OMP (MacOS Intel) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 5bf278b..7dce134 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -28,11 +28,11 @@ jobs: runs-on: ${{ matrix.platform}} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: submodules: true - name: Set up Python version ${{ matrix.version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.version }} - name: Install OMP (MacOS Intel)