Skip to content

Nightlies

Nightlies #331

Workflow file for this run

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-pyarrow20-0",
"py311-pyarrow20-0",
"py312-pyarrow20-0",
"py313-pyarrow20-0",
]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up pixi
uses: prefix-dev/setup-pixi@82d477f15f3a381dbcc8adc1206ce643fe110fb7 # v0.9.3
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
- name: Issue on failure
uses: actions/github-script@v8
if: ${{ failure() && github.ref == 'refs/heads/main' }}
with:
script: |
github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: "open",
labels: "[bot] Nightly run"
}).then((issues) => {
if (issues.data.length === 0){
github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: "Nightly run failure",
body: "The nightly unit tests failed. See https://github.com/data-engineering-collective/plateau/actions/runs/${{github.run_id}} for details.",
assignees: ["fjetter"],
labels: ["[bot] Nightly run"]
})
}
});