Skip to content

Release Updates

Release Updates #34

Workflow file for this run

name: Build wheels
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.8]
arch: [x86_64, arm64, aarch64]
include:
- os: macos-latest
arch: x86_64
- os: macos-latest
arch: arm64
- os: ubuntu-latest
arch: x86_64
- os: ubuntu-latest
arch: aarch64
- os: windows-latest
arch: x86_64
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Rust (Linux and macOS)
if: runner.os != 'Windows'
run: |
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
shell: bash
- name: Install maturin
run: pip install maturin
- name: Set up QEMU for cross-compilation
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'aarch64'
run: |
sudo apt-get update
sudo apt-get install -y qemu binfmt-support qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: Build wheel using manylinux2014 (AARCH64 Linux)
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'aarch64'
run: |
docker run --rm -e PLAT=aarch64 \
-v $(pwd):/io quay.io/pypa/manylinux2014_aarch64 \
/opt/python/cp38-cp38/bin/python -m pip wheel /io -w /io/wheelhouse/
shell: bash
- name: Build wheel (x86_64 macOS)
if: matrix.os == 'macos-latest' && matrix.arch == 'x86_64'
run: |
rustup target add x86_64-apple-darwin
cd python/delta-kernel-python
maturin build --release --target x86_64-apple-darwin
shell: bash
- name: Build wheel (ARM macOS)
if: matrix.os == 'macos-latest' && matrix.arch == 'arm64'
run: |
rustup target add aarch64-apple-darwin
cd python/delta-kernel-python
maturin build --release --target aarch64-apple-darwin
shell: bash
- name: Build wheel (Windows)
if: runner.os == 'Windows'
run: |
cd python/delta-kernel-python
maturin build --release
shell: powershell
- name: Build wheel (x86_64 Linux)
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'x86_64'
run: |
cd python/delta-kernel-python
maturin build --release
shell: bash
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels
path: python/delta-kernel-python/target/wheels/*.whl