Skip to content

Auto-update pre-commit hooks #796

Auto-update pre-commit hooks

Auto-update pre-commit hooks #796

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- 'main'
- 'pre-commit-autoupdate'
tags:
- '*'
schedule:
# daily (`@daily` not supported, see
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events )
#
# Runs on default/base branch (see
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onschedule )
- cron: '0 0 * * *'
jobs:
build:
strategy:
fail-fast: false
matrix:
numfocus_nightly: [false]
os: ["ubuntu-latest"]
pyarrow: ["3.0.0", "4.0.1", "nightly"]
python: ["3.8"]
include:
- numfocus_nightly: true
os: "ubuntu-latest"
pyarrow: "4.0.1"
python: "3.10"
- numfocus_nightly: false
os: "ubuntu-latest"
pyarrow: "5.0.0"
python: "3.9"
- numfocus_nightly: false
os: "ubuntu-latest"
pyarrow: "6.0.1"
python: "3.9"
- numfocus_nightly: false
os: "ubuntu-latest"
pyarrow: "7.0.0"
python: "3.10"
- numfocus_nightly: false
os: "ubuntu-latest"
pyarrow: "8.0.1"
python: "3.10"
- numfocus_nightly: false
os: "ubuntu-latest"
pyarrow: "9.0.0"
python: "3.10"
- numfocus_nightly: false
os: "ubuntu-latest"
pyarrow: "10.0.1"
python: "3.11"
- numfocus_nightly: false
os: "ubuntu-latest"
pyarrow: "11.0.0"
python: "3.11"
- numfocus_nightly: false
os: "macos-latest"
pyarrow: "4.0.1"
python: "3.8"
continue-on-error: ${{ matrix.numfocus_nightly || matrix.pyarrow == 'nightly' }}
runs-on: ${{ matrix.os }}
defaults:
run:
# see https://github.com/conda-incubator/setup-miniconda/#important
shell: bash -l {0}
env:
IS_MASTER_BUILD: ${{ !matrix.numfocus_nightly && matrix.os == 'ubuntu-latest' && matrix.pyarrow == '4.0.1' && matrix.python == '3.8' }}
IS_TAG: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')}}
steps:
# CI setup
- name: Is Master Build?
run: echo $IS_MASTER_BUILD
- name: Checkout
uses: actions/checkout@v3
- name: Set up Conda env
uses: mamba-org/provision-with-micromamba@e2b397b12d0a38069451664382b769c9456e3d6d
with:
cache-env: true
extra-specs: |
python=${{ matrix.PYTHON_VERSION }}
- name: Install repository
run: python -m pip install --no-build-isolation --no-deps --disable-pip-version-check -e .
- name: Install Pyarrow (non-nightly)
run: micromamba install pyarrow==${{ matrix.pyarrow }}
if: matrix.pyarrow != 'nightly'
- name: Install Pyarrow (nightly)
# Install both arrow-cpp and pyarrow to make sure that we have the
# latest nightly of both packages. It is sadly not guaranteed that the
# nightlies and the latest release would otherwise work together.
run: micromamba update -c arrow-nightlies -c conda-forge arrow-cpp pyarrow
if: matrix.pyarrow == 'nightly'
- name: Pip Instal NumFOCUS nightly
# NumFOCUS nightly wheels, contains numpy and pandas
# TODO(gh-45): Re-add numpy
run: python -m pip install --pre --upgrade --timeout=60 --extra-index-url https://pypi.anaconda.org/scipy-wheels-nightly/simple pandas
if: matrix.numfocus_nightly
- name: Test import
run: |
python -c "import plateau"
python -c "import plateau.api"
python -c "import plateau.api.dataset"
python -c "import plateau.api.serialization"
python -c "import plateau.core"
python -c "import plateau.io"
python -c "import plateau.io_components"
python -c "import plateau.serialization"
python -c "import plateau.utils"
# Tests
- name: Pytest
# FIXME: Add `-n auto` again to allow for parallelism here.
run: pytest --cov --cov-report xml
- name: Running benchmarks
run: |
asv --config ./asv_bench/asv.conf.json machine --machine github --os unknown --arch unknown --cpu unknown --ram unknown
asv --config ./asv_bench/asv.conf.json dev | sed "/failed$/ s/^/##[error]/" | tee benchmarks.log
if grep "failed" benchmarks.log > /dev/null ; then
exit 1
fi
if: env.IS_MASTER_BUILD == 'true'
# Builds
- name: Build Wheel and sdist
run: python -m build --no-isolation
- name: Codecov
uses: codecov/[email protected]
with:
# NOTE: `token` is not required, because the plateau repo is public
file: ./coverage.xml
name: pytest-numfocus_nightly_${{ matrix.numfocus_nightly }}-os_${{ matrix.os }}-pyarrow_${{ matrix.pyarrow }}-python_${{ matrix.python }}
# Release
- name: Publish to PyPI
if: env.IS_MASTER_BUILD == 'true' && env.IS_TAG == 'true'
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.PYPI_PASSWORD }}