Skip to content

Test build wheels

Test build wheels #28

Workflow file for this run

name: Publish to PyPI
on:
# release:
# types: [ created ]
pull_request:
branches: [ main ]
paths:
- 'src/lakeops/**'
- '.github/workflows/publish.yml'
jobs:
build-wheels:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
architecture: [ x86_64, aarch64 ]
python-version: [ '3.10']
exclude:
- os: macos-latest
architecture: x86_64
- os: windows-latest
architecture: aarch64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup QEMU
if: matrix.os == 'ubuntu-latest'
uses: docker/setup-qemu-action@v2
- name: Build wheel
uses: PyO3/maturin-action@v1
with:
command: build
target: ${{ matrix.architecture }}
args: --release --out dist -i python${{ matrix.python-version }}
- name: Test wheel
if: matrix.os == ' macos-latest' || (matrix.os == 'ubuntu-latest' && matrix.architecture == 'x86_64')
run: |
pip install --force-reinstall --verbose dist/*.whl
python -c 'from lakeops import LakeOps; from lakeops.udf import point_in_polygon'
- name: Upload wheel
uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}-${{ matrix.architecture }}-${{ matrix.python-version }}
path: dist/*.whl
release:
runs-on: ubuntu-latest
# Specifying a GitHub environment is optional, but strongly encouraged
environment: pypi
permissions:
# IMPORTANT: this permission is mandatory for Trusted Publishing
id-token: write
needs: [build-wheels]
steps:
- uses: actions/download-artifact@v4
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-path: 'wheels-*/*'
# - name: Publish to PyPI
# uses: pypa/gh-action-pypi-publish@release/v1