mirror of
https://github.com/lancedb/lancedb.git
synced 2026-01-05 19:32:56 +00:00
This changes `lancedb` from a "pure python" setuptools project to a maturin project and adds a rust lancedb dependency. The async python client is extremely minimal (only `connect` and `Connection.table_names` are supported). The purpose of this PR is to get the infrastructure in place for building out the rest of the async client. Although this is not technically a breaking change (no APIs are changing) it is still a considerable change in the way the wheels are built because they now include the native shared library.
93 lines
2.6 KiB
YAML
93 lines
2.6 KiB
YAML
name: PyPI Publish
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
|
|
jobs:
|
|
linux:
|
|
timeout-minutes: 60
|
|
strategy:
|
|
matrix:
|
|
python-minor-version: ["8"]
|
|
platform:
|
|
- x86_64
|
|
- aarch64
|
|
runs-on: "ubuntu-22.04"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
lfs: true
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.${{ matrix.python-minor-version }}
|
|
- uses: ./.github/workflows/build_linux_wheel
|
|
with:
|
|
python-minor-version: ${{ matrix.python-minor-version }}
|
|
args: "--release --strip"
|
|
arm-build: ${{ matrix.platform == 'aarch64' }}
|
|
- uses: ./.github/workflows/upload_wheel
|
|
with:
|
|
token: ${{ secrets.LANCEDB_PYPI_API_TOKEN }}
|
|
repo: "pypi"
|
|
mac:
|
|
timeout-minutes: 60
|
|
runs-on: ${{ matrix.config.runner }}
|
|
strategy:
|
|
matrix:
|
|
python-minor-version: ["8"]
|
|
config:
|
|
- target: x86_64-apple-darwin
|
|
runner: macos-13
|
|
- target: aarch64-apple-darwin
|
|
runner: macos-14
|
|
env:
|
|
MACOSX_DEPLOYMENT_TARGET: 10.15
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ inputs.ref }}
|
|
fetch-depth: 0
|
|
lfs: true
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.12
|
|
- uses: ./.github/workflows/build_mac_wheel
|
|
with:
|
|
python-minor-version: ${{ matrix.python-minor-version }}
|
|
args: "--release --strip --target ${{ matrix.config.target }}"
|
|
- uses: ./.github/workflows/upload_wheel
|
|
with:
|
|
python-minor-version: ${{ matrix.python-minor-version }}
|
|
token: ${{ secrets.LANCEDB_PYPI_API_TOKEN }}
|
|
repo: "pypi"
|
|
windows:
|
|
timeout-minutes: 60
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
python-minor-version: ["8"]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ inputs.ref }}
|
|
fetch-depth: 0
|
|
lfs: true
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.${{ matrix.python-minor-version }}
|
|
- uses: ./.github/workflows/build_windows_wheel
|
|
with:
|
|
python-minor-version: ${{ matrix.python-minor-version }}
|
|
args: "--release --strip"
|
|
vcpkg_token: ${{ secrets.VCPKG_GITHUB_PACKAGES }}
|
|
- uses: ./.github/workflows/upload_wheel
|
|
with:
|
|
python-minor-version: ${{ matrix.python-minor-version }}
|
|
token: ${{ secrets.LANCEDB_PYPI_API_TOKEN }}
|
|
repo: "pypi"
|