Skip to content

Revert CMake to 2.19 as well #9

Revert CMake to 2.19 as well

Revert CMake to 2.19 as well #9

Workflow file for this run

name: Build wheels
on:
workflow_dispatch:
push:
branches:
- release-*
- '*wheel*' # must quote since "*" is a YAML reserved character; we want a string
tags:
- '*'
pull_request:
branches:
- '*wheel*' # must quote since "*" is a YAML reserved character; we want a string
jobs:
generate_backwards_compatibility_data:
name: Generate Backwards Compatibility Data
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
# Based on https://github.com/TileDB-Inc/conda-forge-nightly-controller/blob/51519a0f8340b32cf737fcb59b76c6a91c42dc47/.github/workflows/activity.yml#L19C10-L19C10
- name: Setup git
run: |
git config user.name "GitHub Actions"
git config user.email "[email protected]"
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Print Python version
run: |
which python
which pip
python --version
- name: Build Indexes
run: |
# Get the release tag.
release_tag=$(git describe --tags --abbrev=0)
echo $release_tag
# Install dependencies.
pip install .
# Generate data.
python backwards-compatibility-data/generate_data.py $release_tag
# Push this data to a new branch and create a PR from it.
git fetch
branch_name="update-backwards-compatibility-data-${release_tag}"
echo $branch_name
git checkout -b "$branch_name"
git add backwards-compatibility-data/data/
git commit -m "[automated] Update backwards-compatibility-data for release $release_tag"
git push origin "$branch_name"
gh pr create --base main --head "$branch_name" --title "[automated] Update backwards-compatibility-data for release $release_tag" --body "This PR contains backwards compatibility indexes generated for release $release_tag."
env:
GH_TOKEN: ${{ github.token }}
build_wheels:
name: Wheel ${{ matrix.buildplat[0] }}-${{ matrix.buildplat[1] }}-${{ matrix.python }}
# TODO(paris): Add this back once generate_backwards_compatibility_data is confirmed to work.
# needs: generate_backwards_compatibility_data
runs-on: ${{ matrix.buildplat[0] }}
strategy:
matrix:
buildplat:
- [ ubuntu-22.04, manylinux_x86_64 ]
- [ macos-13, macosx_x86_64 ]
- [ macos-13, macosx_arm64 ]
# Windows build is currently disabled since the C++ build fails on multiple errors e.g. file manipulation
# and std::filesystem::path implicit to string conversion.
# Follow up task https://app.shortcut.com/tiledb-inc/story/41119/enable-windows-build-for-vector-search-repository
python: [ "cp39", "cp310", "cp311", "cp312", "pp39" ]
exclude:
- buildplat: [ macos-13, macosx_arm64 ]
python: "pp39"
steps:
- uses: actions/checkout@v3
- name: 'Brew setup on macOS' # x-ref c8e49ba8f8b9ce
if: ${{ startsWith(matrix.os, 'macos-') == true }}
run: |
set -e pipefail
brew update
brew install automake pkg-config ninja llvm
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD_VERBOSITY: 3
CIBW_ENVIRONMENT_MACOS: >
CC=clang
CXX=clang++
MACOSX_DEPLOYMENT_TARGET: "12.0"
CIBW_ARCHS: all
CIBW_PRERELEASE_PYTHONS: True
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
with:
output-dir: wheelhouse
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: './wheelhouse/*.whl'
build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build sdist
run: pipx run build --sdist
- uses: actions/upload-artifact@v4
with:
path: dist/*.tar.gz
upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment: pypi
permissions:
id-token: write
outputs:
package_version: ${{ steps.get_package_version.outputs.package_version }}
steps:
- uses: actions/download-artifact@v4
with:
path: dist
merge-multiple: true
- id: get_package_version
run: |
echo "package_version=$(ls dist/ | head -n 1 | cut -d - -f 2)" >> "$GITHUB_OUTPUT"
- name: Upload to test-pypi
if: ${{ github.event_name == 'workflow_dispatch' }}
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
- name: Upload to pypi
if: ${{ github.event_name != 'workflow_dispatch' }}
uses: pypa/gh-action-pypi-publish@release/v1