diff --git a/.github/workflows/buildwheels.yml b/.github/workflows/buildwheels.yml index 0150d38e..1905c60e 100644 --- a/.github/workflows/buildwheels.yml +++ b/.github/workflows/buildwheels.yml @@ -4,6 +4,9 @@ defaults: run: shell: bash +env: + PIP_INSTALL_OPTS: "--only-binary=:all: --verbose" + on: push: branches: [ main ] @@ -22,7 +25,7 @@ jobs: with: submodules: recursive fetch-depth: 0 # https://github.com/pypa/setuptools_scm/issues/480 - - run: DEBUG=1 VERBOSE=1 pip install --verbose -e .[tests] + - run: DEBUG=1 VERBOSE=1 pip install $PIP_INSTALL_OPTS -e .[tests] - run: pytest -v -s -We -p no:unraisableexception tests zenodo_json: @@ -41,7 +44,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest, windows-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-15, windows-latest] steps: - uses: actions/checkout@v4 @@ -65,7 +68,7 @@ jobs: python-version: "3.11" - name: Install cibuildwheel - run: python -m pip install cibuildwheel + run: python -m pip install $PIP_INSTALL_OPTS cibuildwheel - name: Build and test wheels env: @@ -74,7 +77,7 @@ jobs: CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel CIBW_ENVIRONMENT_WINDOWS: CMAKE_ARGS="-DCMAKE_MAKE_PROGRAM=D:/a/_temp/msys64/mingw64/bin/ninja.exe" CMAKE_PROGRAM_PATH="D:/a/_temp/msys64/usr/bin" CMAKE_GENERATOR="Ninja" TEMP="D:/a/_temp/" CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: delvewheel repair -w {dest_dir} {wheel} - CIBW_BEFORE_BUILD_MACOS: brew reinstall gcc + CIBW_BEFORE_BUILD_MACOS: brew reinstall gcc; pip install --only-binary=llvmlite llvmlite CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=`sw_vers -productVersion` SYSTEM_VERSION_COMPAT=0 CIBW_TEST_REQUIRES: pytest pytest-order CIBW_TEST_COMMAND: pytest -v -s -We -p no:unraisableexception {package}/tests @@ -92,7 +95,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest, windows-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-15, windows-latest] steps: - uses: actions/checkout@v4 @@ -102,7 +105,7 @@ jobs: - uses: actions/setup-python@v5.0.0 with: - python-version: "3.13" + python-version: "3.12" - uses: actions/download-artifact@v4 with: @@ -119,11 +122,11 @@ jobs: run: echo 'PYTEST_SKIP_ARGS=-k "not camp"' >> $GITHUB_ENV - run: | - temp=`find dist/ -name "*cp313*.whl"` - python -m pip install $temp[examples] + temp=`find dist/ -name "*cp312*.whl"` ex -sc 'g/^PyPartMC/d' -cx .binder/requirements.txt python -m pip install --force-reinstall --no-deps $PIP_INSTALL_OPTS -r .binder/requirements.txt python -m pip install $PIP_INSTALL_OPTS -r gitmodules/devops_tests/requirements.txt + python -m pip install $PIP_INSTALL_OPTS $temp[examples] PySDM==3.0.0rc19 chempy==0.10.1 pyneqsys==0.5.7 GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} python -m pytest --durations=10 ${{ env.PYTEST_SKIP_ARGS }} -v -s -We -p no:unraisableexception gitmodules/devops_tests/test_run_notebooks.py check_annotated_todos: @@ -137,7 +140,7 @@ jobs: fetch-depth: 0 - run: | - python -m pip install pytest + python -m pip install $PIP_INSTALL_OPTS pytest python -m pip install $PIP_INSTALL_OPTS -r gitmodules/devops_tests/requirements.txt GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} python -m pytest --durations=10 -v -s -We -p no:unraisableexception gitmodules/devops_tests/test_todos_annotated.py @@ -151,7 +154,7 @@ jobs: - uses: actions/setup-python@v5.0.0 with: python-version: "3.11" - - run: pip install twine auditwheel + - run: pip install $PIP_INSTALL_OPTS twine auditwheel - uses: actions/download-artifact@v4 with: name: dist-${{matrix.os}}-${{matrix.manylinux}} @@ -217,4 +220,4 @@ jobs: path: dist merge-multiple: true - - uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file + - uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/pyproject.toml b/pyproject.toml index 59c1c20b..63ea73cf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ name = "PyPartMC" dynamic = ["version"] description = "Python interface to PartMC" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.9" authors = [ {name = "https://github.com/open-atmos/PyPartMC/graphs/contributors", email = "nriemer@illinois.edu"} ]