Clean up code #935
Workflow file for this run
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: TileDB Python CI - With Earliest Supported Version of NumPy | ||
on: | ||
workflow_call: | ||
inputs: | ||
libtiledb_version: | ||
required: true | ||
type: string | ||
jobs: | ||
test: | ||
runs-on: ${{ matrix.os }} | ||
defaults: | ||
run: | ||
shell: bash | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, macos-12, windows-latest] | ||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | ||
include: | ||
# https://github.com/scipy/oldest-supported-numpy/blob/main/setup.cfg | ||
- python-version: "3.12" | ||
numpy-version: "1.26.4" | ||
- python-version: "3.11" | ||
numpy-version: "1.23.2" | ||
- python-version: "3.10" | ||
numpy-version: "1.21.6" | ||
- python-version: "3.9" | ||
numpy-version: "1.19.3" | ||
- python-version: "3.8" | ||
numpy-version: "1.17.3" | ||
fail-fast: false | ||
env: | ||
TILEDB_VERSION: ${{ github.event.inputs.libtiledb_version }} | ||
# 11.7 necessary due to: https://github.com/actions/setup-python/issues/682#issuecomment-1604261330 | ||
#MACOSX_DEPLOYMENT_TARGET: "10.15" | ||
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os == 'macos-12' && matrix.python-version == '3.8' ? '11.7' : '11' }} | ||
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite' | ||
steps: | ||
- name: Checkout TileDB-Py `dev` | ||
uses: actions/checkout@v3 | ||
# By default Visual Studio chooses the earliest installed toolset version | ||
# for the main build and vcpkg chooses the latest. Force it to use the | ||
# latest (14.39 currently). | ||
- name: Setup MSVC toolset (VS 2022) | ||
uses: TheMrMilchmann/setup-msvc-dev@v3 | ||
if: matrix.os == 'windows-latest' | ||
with: | ||
arch: x64 | ||
toolset: 14.39 | ||
- name: Install Ninja (VS 2022) | ||
uses: seanmiddleditch/gha-setup-ninja@v4 | ||
if: matrix.os == 'windows-latest' | ||
- name: Enable vcpkg binary caching | ||
uses: actions/github-script@v6 | ||
with: | ||
script: | | ||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); | ||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | ||
- name: "Set CMAKE_GENERATOR" | ||
run: export CMAKE_GENERATOR="Ninja" | ||
if: matrix.os == 'windows-latest' | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Print Python version | ||
run: | | ||
which python | ||
which pip | ||
python --version | ||
- name: Print env | ||
run: printenv | ||
- name: Use Oldest Version of NumPy | ||
run: python -m pip install numpy==${{ matrix.numpy-version }} | ||
- name: Checkout TileDB-Py `dev` | ||
uses: actions/checkout@v3 | ||
- name: Install dependencies | ||
run: python -m pip install --upgrade -r misc/requirements_ci.txt | ||
- name: Test without pandas | ||
run: python -m pip uninstall -y pandas | ||
- name: Build TileDB-Py | ||
run: | | ||
echo "CMAKE_GENERATOR=$CMAKE_GENERATOR" | ||
python setup.py build_ext --inplace --werror | ||
python setup.py develop | ||
- name: Test TileDB-Py | ||
run: pytest -vv | ||
create_issue_on_fail: | ||
permissions: | ||
issues: write | ||
runs-on: ubuntu-latest | ||
needs: test | ||
if: failure() || cancelled() | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Create Issue if Build Fails | ||
uses: TileDB-Inc/github-actions/open-issue@main | ||
with: | ||
name: nightly build with earliest supported numpy | ||
label: bug,nightly-failure | ||
assignee: kounelisagis,nguyenv,KiterLuc,ihnorton |