Add support for more input sources in DirectoryReader (#283) #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 "runneradmin@users.noreply.github.com" | |
- 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 | |
# Fetch. | |
git fetch | |
# Create a new branch for the changes. | |
branch_name="update-backwards-compatibility-data-${release_tag}" | |
git checkout -b "$branch_name" | |
# Stage all changes within backwards-compatibility-data/data/. | |
git add backwards-compatibility-data/data/ | |
# Commit the staged changes. | |
git commit -m "[automated] Update backwards-compatibility-data for release $release_tag" | |
# Reset other changes to match main branch - we do this in case the release branch had commits that were not in main. | |
git reset --hard main | |
# Re-apply the commit with the backwards-compatibility-data changes. | |
git cherry-pick HEAD@{1} | |
# Push to the branch. | |
git push origin "$branch_name" | |
# Create a PR from this new branch to main. | |
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-2022, win_amd64 ] | |
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/cibuildwheel@v2.16.5 | |
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 |