name: PyPI Publish on: release: types: [published] jobs: linux: name: Python ${{ matrix.config.platform }} manylinux${{ matrix.config.manylinux }} timeout-minutes: 60 strategy: matrix: python-minor-version: ["8"] config: - platform: x86_64 manylinux: "2_17" extra_args: "" - platform: x86_64 manylinux: "2_28" extra_args: "--features fp16kernels" - platform: aarch64 manylinux: "2_24" extra_args: "" # We don't build fp16 kernels for aarch64, because it uses # cross compilation image, which doesn't have a new enough compiler. 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 ${{ matrix.config.extra_args }}" arm-build: ${{ matrix.config.platform == 'aarch64' }} manylinux: ${{ matrix.config.manylinux }} - 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 }} --features fp16kernels" - 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"