diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml deleted file mode 100644 index 7a9a699..0000000 --- a/.github/workflows/package.yml +++ /dev/null @@ -1,173 +0,0 @@ -name: Python Build and test wheels - -on: - push: - branches: - - main - tags: - - v* - pull_request: - -jobs: - macos: - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.11 - architecture: x64 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - default: true - - name: Build wheels - x86_64 - uses: messense/maturin-action@v1 - with: - target: x86_64 - args: --release --out dist - - name: Install built wheel - x86_64 - run: | - pip install roaring-landmask --no-index --find-links dist --force-reinstall - pip install pytest pytest-benchmark numpy shapely - cd tests && pytest - - name: Build wheels - universal2 - uses: messense/maturin-action@v1 - with: - target: ${{ matrix.target }} - args: --release --universal2 --out dist --sdist - - name: Install built wheel - universal2 - run: | - pip install roaring-landmask --no-index --find-links dist --force-reinstall - cd tests && pytest - - name: Upload wheels - uses: actions/upload-artifact@v2 - with: - name: wheels - path: dist - - windows: - runs-on: windows-latest - strategy: - matrix: - target: [x64] - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.11 - architecture: ${{ matrix.target }} - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - default: true - - name: Build wheels - uses: messense/maturin-action@v1 - with: - target: ${{ matrix.target }} - args: --release --out dist - - name: Install built wheel - run: | - pip install roaring-landmask --no-index --find-links dist --force-reinstall - # pip install pytest pytest-benchmark numpy - # cd tests && pytest -sv --log-cli-level=debug - - name: Upload wheels - uses: actions/upload-artifact@v2 - with: - name: wheels - path: dist - - linux: - runs-on: ubuntu-latest - strategy: - matrix: - target: [x86_64, i686] - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.11 - architecture: x64 - - name: Build Wheels - uses: messense/maturin-action@v1 - with: - rust-toolchain: stable - target: ${{ matrix.target }} - manylinux: auto - args: --release --out dist - - name: Install built wheel - if: matrix.target == 'x86_64' - run: | - pip install roaring-landmask --no-index --find-links dist --force-reinstall - pip install pytest pytest-benchmark numpy shapely - cd tests && pytest - - name: Upload wheels - uses: actions/upload-artifact@v2 - with: - name: wheels - path: dist - - # linux-cross: - # runs-on: ubuntu-latest - # strategy: - # matrix: - # target: [aarch64, armv7, s390x, ppc64le, ppc64] - # steps: - # - uses: actions/checkout@v2 - # - uses: actions/setup-python@v2 - # with: - # python-version: 3.9 - # - name: Build Wheels - # uses: messense/maturin-action@v1 - # with: - # rust-toolchain: stable - # target: ${{ matrix.target }} - # manylinux: auto - # args: --release --out dist --no-sdist - # - uses: uraimo/run-on-arch-action@v2.0.5 - # if: matrix.target != 'ppc64' - # name: Install built wheel - # with: - # arch: ${{ matrix.target }} - # distro: ubuntu18.04 - # githubToken: ${{ github.token }} - # # Mount the dist directory as /artifacts in the container - # dockerRunArgs: | - # --volume "${PWD}/dist:/artifacts" - # install: | - # apt-get update - # apt-get install -y --no-install-recommends python3 python3-pip - # pip3 install -U pip pytest - # run: | - # ls -lrth /artifacts - # pip3 install roaring-landmask --no-index --find-links /artifacts --force-reinstall - # cd tests && pytest - # - name: Upload wheels - # uses: actions/upload-artifact@v2 - # with: - # name: wheels - # path: dist - - release: - name: Release - runs-on: ubuntu-latest - if: "startsWith(github.ref, 'refs/tags/')" - needs: [ macos, windows, linux ] - steps: - - uses: actions/download-artifact@v2 - with: - name: wheels - - uses: actions/setup-python@v2 - with: - python-version: 3.11 - - name: Publish to PyPi - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: | - pip install --upgrade twine - twine upload --skip-existing * diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml new file mode 100644 index 0000000..89cdabd --- /dev/null +++ b/.github/workflows/python.yml @@ -0,0 +1,119 @@ +# This file is autogenerated by maturin v1.3.2 +# To update, run +# +# maturin generate-ci github +# +name: Python Build and test wheels + +on: + push: + branches: + - main + tags: + - '*' + pull_request: + workflow_dispatch: + +permissions: + contents: read + +jobs: + linux: + runs-on: ubuntu-latest + strategy: + matrix: + target: [x86_64, x86, aarch64, armv7, s390x, ppc64le] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.target }} + args: --release --out dist + sccache: 'true' + manylinux: auto + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + windows: + runs-on: windows-latest + strategy: + matrix: + target: [x64, x86] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + architecture: ${{ matrix.target }} + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.target }} + args: --release --out dist + sccache: 'true' + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + macos: + runs-on: macos-latest + strategy: + matrix: + target: [x86_64, aarch64] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.target }} + args: --release --out dist + sccache: 'true' + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + sdist: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Build sdist + uses: PyO3/maturin-action@v1 + with: + command: sdist + args: --out dist + - name: Upload sdist + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + release: + name: Release + runs-on: ubuntu-latest + if: "startsWith(github.ref, 'refs/tags/')" + needs: [linux, windows, macos, sdist] + steps: + - uses: actions/download-artifact@v3 + with: + name: wheels + - name: Publish to PyPI + uses: PyO3/maturin-action@v1 + env: + MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_PASSWORD }} + with: + command: upload + args: --non-interactive --skip-existing *