diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eb35434..426e001 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,15 +7,15 @@ on: workflow_dispatch: env: - MACOSX_DEPLOYMENT_TARGET: "10.15" + MACOSX_DEPLOYMENT_TARGET: "11.0" jobs: - build: + build_wheels: runs-on: ${{matrix.os}} strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] steps: - uses: actions/checkout@v4 @@ -23,15 +23,16 @@ jobs: submodules: "recursive" - name: Build wheels - uses: pypa/cibuildwheel@v2.16.5 + uses: pypa/cibuildwheel@v2.17.0 env: + CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-* cp312-*" CIBW_BUILD_FRONTEND: build CIBW_ARCHS_LINUX: x86_64 CIBW_ARCHS_WINDOWS: AMD64 - CIBW_ARCHS_MACOS: universal2 CIBW_SKIP: "*-musllinux_* pp*" CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: pytest {project}/tests + CIBW_TEST_SKIP: "cp38-macosx_*:arm64" - name: Build sdist if: startsWith(matrix.os, 'ubuntu') @@ -39,7 +40,19 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: dist + name: dist-pugixml-${{matrix.os}} path: | ./wheelhouse/*.whl ./dist/*.tar.gz + + merge_wheels: + name: Merge all built wheels into one artifact + runs-on: ubuntu-latest + needs: build_wheels + steps: + - name: Merge wheels + uses: actions/upload-artifact/merge@v4 + with: + name: dist + pattern: dist-* + delete-merged: true diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 03a3483..0379ec2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,8 +18,13 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + exclude: + - os: macos-14 + python-version: "3.8" + - os: macos-14 + python-version: "3.9" steps: - uses: actions/checkout@v4