diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index f71943cd..b1f88473 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 @@ -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 @@ -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: @@ -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 diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index c496033f..ae4fbdd0 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -21,14 +21,12 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2022, macos-12, ubuntu-latest] + os: [windows-latest, ubuntu-latest, macos-latest] include: - - os: windows-2022 - sys_pkgs: choco install swig + - os: windows-latest activate: ./build-env/Scripts/activate - - os: macos-12 - sys_pkgs: brew install swig ninja + - os: macos-latest activate: source ./build-env/bin/activate - os: ubuntu-latest @@ -36,17 +34,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" - - - name: Install required system packages - run: ${{matrix.sys_pkgs}} + python-version: "3.10" - name: Build wheel in virtual env run: | @@ -60,4 +55,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 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" 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"] diff --git a/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt b/swmm-toolkit/src/swmm/toolkit/CMakeLists.txt index 99097ccb..d87a9b4b 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 @@ -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