Skip to content

0.19.2-beta.1059

0.19.2-beta.1059 #587

Workflow file for this run

name: Release to PyPI
on:
release:
types: [published]
branches:
- 'main'
jobs:
build-manylinux:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4.1.7
with:
path: io
- name: Set permissions for build-wheels.sh
run: chmod +x io/build-wheels.sh
- name: Build Wheels
run: >
docker run --rm
-e PLAT=manylinux2014_x86_64
-e PACKAGE_NAME=opteryx
-e PYTHON_VERSION=${{ matrix.python-version }}
-v `pwd`:/io
--workdir /io
quay.io/pypa/manylinux2014_x86_64
io/build-wheels.sh
- name: Archive Wheels
uses: actions/upload-artifact@v4
with:
name: dist-linux-${{ matrix.python-version }}
path: io/dist/*manylinux2014_x86_64.whl
build-macos:
runs-on: macos-latest
strategy:
fail-fast: false
max-parallel: 4
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Set up Python ${{ matrix.python-version }} x64
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Python package dependencies
run: python -m pip install --upgrade cython wheel numpy==1.* setuptools_rust
- name: Install Rust aarch64-apple-darwin target
run: rustup target add aarch64-apple-darwin
- name: Install Rust x86_64-apple-darwin
run: rustup target add x86_64-apple-darwin
- name: Build on macOS universal2
shell: bash
env:
DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer
MACOSX_DEPLOYMENT_TARGET: "10.15"
ARCHFLAGS: -arch x86_64 -arch arm64
PYO3_CROSS_PYTHON_VERSION: ${{ matrix.python-version }}
run: python setup.py bdist_wheel
- name: Archive dist artifacts
uses: actions/upload-artifact@v4
with:
name: dist-macos-${{ matrix.python-version }}
path: dist
upload:
needs: [build-manylinux, build-macos]
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4.1.7
- name: Install Python package dependencies
run: python -m pip install --upgrade cython wheel numpy==1.* setuptools_rust
- name: Create source dist
run: python setup.py sdist
- name: Stage linux 3.9
uses: actions/download-artifact@v4.1.7
with:
name: dist-linux-3.9
path: dist-linux-3.9
- run: mv -v dist-linux-3.9/* dist/
- name: Stage linux 3.10
uses: actions/download-artifact@v4.1.7
with:
name: dist-linux-3.10
path: dist-linux-3.10
- run: mv -v dist-linux-3.10/* dist/
- name: Stage linux 3.11
uses: actions/download-artifact@v4.1.7
with:
name: dist-linux-3.11
path: dist-linux-3.11
- run: mv -v dist-linux-3.11/* dist/
- name: Stage linux 3.12
uses: actions/download-artifact@v4.1.7
with:
name: dist-linux-3.12
path: dist-linux-3.12
- run: mv -v dist-linux-3.12/* dist/
- name: Stage macos 3.9
uses: actions/download-artifact@v4.1.7
with:
name: dist-macos-3.9
path: dist-macos-3.9
- run: mv -v dist-macos-3.9/* dist/
- name: Stage macos 3.10
uses: actions/download-artifact@v4.1.7
with:
name: dist-macos-3.10
path: dist-macos-3.10
- run: mv -v dist-macos-3.10/* dist/
- name: Stage macos 3.11
uses: actions/download-artifact@v4.1.7
with:
name: dist-macos-3.11
path: dist-macos-3.11
- run: mv -v dist-macos-3.11/* dist/
- name: Stage macos 3.12
uses: actions/download-artifact@v4.1.7
with:
name: dist-macos-3.12
path: dist-macos-3.12
- run: mv -v dist-macos-3.12/* dist/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}