From c2e7d197a472deb8633cec19fd819110eb3558c0 Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:00:41 -0400 Subject: [PATCH 1/9] Update Python version and dependencies in workflow --- .github/workflows/build_wheel.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index f71943cd..80db695a 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -29,13 +29,13 @@ jobs: - name: Install Python uses: actions/setup-python@v4 with: - python-version: 3.7 + python-version: 3.10 - name: Build wheel run: | pip install wheel python setup.py bdist_wheel - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: nrtest-swmm/dist/*.whl @@ -56,7 +56,7 @@ jobs: submodules: true - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v3.1.4 with: package-dir: ./swmm-toolkit env: @@ -80,7 +80,7 @@ jobs: CIBW_TEST_SKIP: "*-*linux_{aarch64,ppc64le,s390x} *-macosx_arm64 *-macosx_universal2:arm64" CIBW_BUILD_VERBOSITY: 1 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl @@ -105,7 +105,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v3.1.4 with: package-dir: ./swmm-toolkit env: From d98c9981ca48fe96e0331aa7fb269a87a1cec11b Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:07:47 -0400 Subject: [PATCH 2/9] Update OS and Python versions in CI workflow --- .github/workflows/build_wheel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index 80db695a..862eb3d7 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -46,8 +46,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-2022, macos-12] - pyver: [cp38, cp39, cp310, cp311, cp312] + os: [ubuntu-latest, windows-latest, macos-latest] + pyver: [cp39, cp310, cp311, cp312] steps: - name: Checkout repo From 637e46b80a9c4a49d940ffb06977e252a67340f5 Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:12:49 -0400 Subject: [PATCH 3/9] Update CIBW_SKIP to include cp-*38 --- .github/workflows/build_wheel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index 862eb3d7..b1f88473 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -118,7 +118,7 @@ jobs: # only build current supported python: https://devguide.python.org/versions/ # don't build pypy or musllinux to save build time. TODO: find a good way to support those archs CIBW_BUILD: ${{matrix.pyver}}-* - CIBW_SKIP: cp36-* cp37-* pp* *-musllinux* + CIBW_SKIP: cp36-* cp37-* cp-*38 pp* *-musllinux* CIBW_BUILD_VERBOSITY: 1 - uses: actions/upload-artifact@v4 From f024b87ca622cc94a890590736b4a76bf334eb25 Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:17:24 -0400 Subject: [PATCH 4/9] Revise unit test workflow for OS and action updates --- .github/workflows/unit_test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index c496033f..0e9acbfd 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -21,13 +21,13 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2022, macos-12, ubuntu-latest] + os: [windows-latest, ubuntu-latest, macos-latest] include: - - os: windows-2022 + - os: windows-latest sys_pkgs: choco install swig activate: ./build-env/Scripts/activate - - os: macos-12 + - os: macos-latest sys_pkgs: brew install swig ninja activate: source ./build-env/bin/activate @@ -36,14 +36,14 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true - name: Install Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.10" - name: Install required system packages run: ${{matrix.sys_pkgs}} @@ -60,4 +60,4 @@ jobs: run: | pip install -r test-requirements.txt pip install --no-index --find-links=./dist swmm_toolkit - pytest \ No newline at end of file + pytest From 451e46560f7b3e675b8b48ca5bf3b05adf7dc2da Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:25:02 -0400 Subject: [PATCH 5/9] Simplify unit test workflow by removing sys_pkgs Removed system package installation steps for swig and ninja. --- .github/workflows/unit_test.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index 0e9acbfd..ae4fbdd0 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -24,11 +24,9 @@ jobs: os: [windows-latest, ubuntu-latest, macos-latest] include: - os: windows-latest - sys_pkgs: choco install swig activate: ./build-env/Scripts/activate - os: macos-latest - sys_pkgs: brew install swig ninja activate: source ./build-env/bin/activate - os: ubuntu-latest @@ -45,9 +43,6 @@ jobs: with: python-version: "3.10" - - name: Install required system packages - run: ${{matrix.sys_pkgs}} - - name: Build wheel in virtual env run: | python -m venv --clear ./build-env From f962411647900f7c75827b794fa235ccf03620eb Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:28:12 -0400 Subject: [PATCH 6/9] Add ninja requirement for macOS platform --- swmm-toolkit/build-requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/swmm-toolkit/build-requirements.txt b/swmm-toolkit/build-requirements.txt index cc5fbd1a..3c429ed6 100644 --- a/swmm-toolkit/build-requirements.txt +++ b/swmm-toolkit/build-requirements.txt @@ -5,4 +5,5 @@ setuptools == 65.5.1 wheel == 0.38.1 scikit-build == 0.11.1 cmake == 3.21 -swig == 4.0.2 \ No newline at end of file +swig == 4.0.2 +ninja; sys_platform == "darwin" From 55c698a31fbb284da884863620f5680408498cc9 Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:40:05 -0400 Subject: [PATCH 7/9] Fix SWIG_COMPILE_DEFINITIONS in CMakeLists.txt --- swmm-toolkit/src/swmm/toolkit/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt b/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt index 99097ccb..664102de 100644 --- a/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt +++ b/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt @@ -74,7 +74,7 @@ target_link_libraries(output set_target_properties(output PROPERTIES SUFFIX ${PYTHON_SUFFIX} - SWIG_COMPILE_DEFINITIONS EXPORT_OUT_API + SWIG_COMPILE_DEFINITIONS EXPORT_OUT_API= MACOSX_RPATH TRUE SKIP_BUILD_RPATH FALSE BUILD_WITH_INSTALL_RPATH FALSE From 221cb7e2850f29d5894700a5c203e6e84bf4051e Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 10:43:47 -0400 Subject: [PATCH 8/9] Fix SWIG_COMPILE_DEFINITIONS for solver target --- swmm-toolkit/src/swmm/toolkit/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt b/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt index 664102de..d87a9b4b 100644 --- a/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt +++ b/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt @@ -139,7 +139,7 @@ target_link_libraries(solver set_target_properties(solver PROPERTIES SUFFIX ${PYTHON_SUFFIX} - SWIG_COMPILE_DEFINITIONS EXPORT_TOOLKIT + SWIG_COMPILE_DEFINITIONS EXPORT_TOOLKIT= MACOSX_RPATH TRUE SKIP_BUILD_RPATH FALSE BUILD_WITH_INSTALL_RPATH FALSE From eb75de211cfbd0c0e3c93f089a3e0f9053797c1e Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Mon, 25 Aug 2025 11:06:55 -0400 Subject: [PATCH 9/9] Change macOS deployment target in setup.py Update macOS deployment target from 10.9 to 11.0. --- swmm-toolkit/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swmm-toolkit/setup.py b/swmm-toolkit/setup.py index 846887ca..75d06a27 100644 --- a/swmm-toolkit/setup.py +++ b/swmm-toolkit/setup.py @@ -88,7 +88,7 @@ def run(self): cmake_args = ["-GVisual Studio 17 2022","-Ax64"] elif platform_system == "Darwin": - cmake_args = ["-GNinja","-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9"] + cmake_args = ["-GNinja","-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=11.0"] else: cmake_args = ["-GUnix Makefiles"]