Skip to content

Commit

Permalink
Only support latest arrow versions, have a nighly workflow.
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasmarwitz committed Dec 17, 2024
1 parent 53511ec commit 324d2c0
Show file tree
Hide file tree
Showing 5 changed files with 17,795 additions and 36,370 deletions.
83 changes: 16 additions & 67 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,81 +35,30 @@ jobs:
strategy:
fail-fast: false
matrix:
include:
# py310
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py310--pyarrow4-0-1"
- numfocus_nightly: false
pyarrow_nightly: true
environment: "py310--pyarrow-nightly"
- numfocus_nightly: true
pyarrow_nightly: true
environment: "py310--pyarrow-nightly"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py310--pyarrow7-0"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py310--pyarrow8-0-1"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py310--pyarrow9-0"
# py311
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py311--pyarrow10-0-1"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py311--pyarrow11-0"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py311--pyarrow12-0"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py311--pyarrow13-0"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py311--pyarrow13-0--pandas1-5-3"
# py312
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py312--pyarrow13-0"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py312--pyarrow14-0-1"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py312--pyarrow15-0"
- numfocus_nightly: false
pyarrow_nightly: false
environment: "py312--pyarrow18-1"

continue-on-error: ${{ matrix.numfocus_nightly || matrix.pyarrow_nightly }}
environment:
[
"py310-pyarrow15-0-2",
"py310-pyarrow16-1",
"py310-pyarrow17-0",
"py310-pyarrow18-1",
"py311-pyarrow15-0-2",
"py311-pyarrow16-1",
"py311-pyarrow17-0",
"py311-pyarrow18-1",
"py312-pyarrow15-0-2",
"py312-pyarrow16-1",
"py312-pyarrow17-0",
"py312-pyarrow18-1",
]

runs-on: "ubuntu-latest"

defaults:
run:
# see https://github.com/conda-incubator/setup-miniconda/#important
shell: bash -l {0}

steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Set up pixi
uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659 # v0.8.1
with:
environments: ${{ matrix.environment }} # References the environments defined in pixi.toml
- name: Install Pyarrow (nightly)
# The nightlies channel for conda is currently empty: https://github.com/apache/arrow/issues/41856
# We therefore rely on the pip nightlies: https://github.com/data-engineering-collective/plateau/pull/184#discussion_r1888429974
run: pixi run pip install --extra-index-url https://pypi.fury.io/arrow-nightlies/ --prefer-binary --pre pyarrow
if: matrix.pyarrow_nightly
- name: Pip Install NumFOCUS nightly
# NumFOCUS nightly wheels, contains numpy and pandas
# TODO(gh-45): Re-add numpy
run: pixi run python -m pip install --pre --upgrade --timeout=60 --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/ pandas
if: matrix.numfocus_nightly
- name: Install repository
run: pixi run postinstall

Expand All @@ -121,4 +70,4 @@ jobs:
with:
file: ./coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
name: pytest-numfocus_nightly_${{ matrix.numfocus_nightly }}-${{ matrix.environment }}
name: pytest-${{ matrix.environment }}
51 changes: 51 additions & 0 deletions .github/workflows/nighlies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Nightlies
on:
schedule:
- cron: "0 5 * * *"
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
id-token: write
contents: read
issues: write

jobs:
nightlies:
name: Nightlies
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
environment: [
# nightlies (e.g. pyarrow) will be installed in the following steps
"py310-pyarrow18-1",
"py311-pyarrow18-1",
"py312-pyarrow18-1",
]

steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Set up pixi
uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659 # v0.8.1
with:
environments: ${{ matrix.environment }}

- name: Install Pyarrow nightly
# The nightlies channel for conda is currently empty: https://github.com/apache/arrow/issues/41856
# We therefore rely on the pip nightlies: https://github.com/data-engineering-collective/plateau/pull/184#discussion_r1888429974
run: pixi run pip install --extra-index-url https://pypi.fury.io/arrow-nightlies/ --prefer-binary --pre pyarrow
- name: Pip Install NumFOCUS nightly
# NumFOCUS nightly wheels, contains numpy and pandas
# TODO(gh-45): Re-add numpy
run: pixi run python -m pip install --pre --upgrade --timeout=60 --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/ pandas

- name: Install repository
run: pixi run postinstall

- name: Pytest
run: pixi run test-coverage -n auto
Loading

0 comments on commit 324d2c0

Please sign in to comment.