From 399428c4c6f8a93eb75dbcb472cd49aeb6b32d6c Mon Sep 17 00:00:00 2001 From: Joschka Roffe Date: Wed, 23 Oct 2024 15:35:50 +0100 Subject: [PATCH] updating github action again --- .github/workflows/build.yml | 122 +++++++++++++++++++++--------------- 1 file changed, 72 insertions(+), 50 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index afef09e..4d16cb0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,74 +10,96 @@ jobs: name: Build SDist runs-on: ubuntu-latest steps: - - name: Checkout out repo and submodules - uses: actions/checkout@v3 - with: - submodules: true - - name: Build SDist - run: pipx run build --sdist + - name: Checkout out repo and submodules + uses: actions/checkout@v3 + with: + submodules: true - - name: Check metadata - run: pipx run twine check dist/* + - name: Build SDist + run: pipx run build --sdist + + - name: Check metadata + run: pipx run twine check dist/* + + - uses: actions/upload-artifact@v3 + with: + path: dist/*.tar.gz - - name: Upload SDist - uses: actions/upload-artifact@v3 - with: - name: sdist - path: dist/*.tar.gz build_wheels: - name: Build Wheels - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.os_dist.os }} + env: + CIBW_BUILD: "${{ matrix.os_dist.dist }}" + # MACOSX_DEPLOYMENT_TARGET: "13.1" + # CIBW_ARCHS_MACOS: "arm64 x86_64" + # CIBW_REPAIR_WHEEL_COMMAND_MACOS: delocate-wheel -w {dest_dir} -v {wheel} strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] - steps: - - name: Checkout repo and submodules - uses: actions/checkout@v3 - with: - submodules: true + os_dist: [ + # # macosx x86_64 + {os: macos-latest, dist: cp38-macosx_x86_64}, + {os: macos-latest, dist: cp39-macosx_x86_64}, + {os: macos-latest, dist: cp310-macosx_x86_64}, + {os: macos-latest, dist: cp311-macosx_x86_64}, + {os: macos-latest, dist: cp312-macosx_x86_64}, + {os: macos-latest, dist: cp313-macosx_x86_64}, - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Install cibuildwheel - run: pip install cibuildwheel + # # macosx arm64 + {os: macos-latest, dist: cp38-macosx_arm64}, + {os: macos-latest, dist: cp39-macosx_arm64}, + {os: macos-latest, dist: cp310-macosx_arm64}, + {os: macos-latest, dist: cp311-macosx_arm64}, + {os: macos-latest, dist: cp312-macosx_arm64}, + {os: macos-latest, dist: cp313-macosx_arm64}, - - name: Build Wheels - run: cibuildwheel --output-dir wheelhouse + # # windows amd64 + {os: windows-latest, dist: cp38-win_amd64}, + {os: windows-latest, dist: cp39-win_amd64}, + {os: windows-latest, dist: cp310-win_amd64}, + {os: windows-latest, dist: cp311-win_amd64}, + {os: windows-latest, dist: cp312-win_amd64}, + {os: windows-latest, dist: cp313-win_amd64}, + + + # ubuntu x86_64 + {os: ubuntu-latest, dist: cp38-manylinux_x86_64}, + {os: ubuntu-latest, dist: cp39-manylinux_x86_64}, + {os: ubuntu-latest, dist: cp310-manylinux_x86_64}, + {os: ubuntu-latest, dist: cp311-manylinux_x86_64}, + {os: ubuntu-latest, dist: cp312-manylinux_x86_64}, + {os: ubuntu-latest, dist: cp313-manylinux_x86_64}, - - name: Upload Wheels - uses: actions/upload-artifact@v3 - with: - name: wheels - path: wheelhouse/*.whl + + ] + steps: + - uses: actions/checkout@v3 + with: + submodules: true + + - uses: pypa/cibuildwheel@v2.20.0 + + - uses: actions/upload-artifact@v3 + with: + path: ./wheelhouse/*.whl + + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + path: wheelhouse/*.whl upload_pypi: - name: Upload to PyPI - needs: [build_wheels, build_sdist] + needs: [ build_wheels, build_sdist ] runs-on: ubuntu-latest steps: - - name: Download SDist - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v3 with: - name: sdist + name: artifact path: dist - - - name: Download Wheels - uses: actions/download-artifact@v3 - with: - name: wheels - path: dist - - - name: Upload to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 + - uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_PASSWORD }} skip_existing: true - verbose: true + verbose: true \ No newline at end of file