Merge pull request #5273 from neutrinoceros/bug/numpy-2.4-minmax-out #1977
This file contains hidden or 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: CI (bleeding edge) | |
# this workflow is heavily inspired from pandas, see | |
# https://github.com/pandas-dev/pandas/blob/master/.github/workflows/python-dev.yml | |
# goals: check stability against | |
# - dev version of Python, numpy, matplotlib, and unyt | |
# - Cython and pytest pre-releases | |
# - building with future pip default options | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths: | |
- .github/workflows/bleeding-edge.yaml | |
schedule: | |
# run this every Wednesday at 3 am UTC | |
- cron: 0 3 * * 3 | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
name: "tests with bleeding-edge crucial deps" | |
timeout-minutes: 60 | |
concurrency: | |
# auto-cancel any in-progress job *on the same branch* | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Set up Python (newest testable version) | |
uses: actions/setup-python@v5 | |
with: | |
# this version should be upgraded as often as possible, typically once a year when | |
# Cython, numpy and matplotlib are known to be compatible | |
python-version: '3.14' | |
allow-prereleases: true | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade setuptools wheel | |
python -m pip install --pre --only-binary ":all:" numpy matplotlib Cython \ | |
--extra-index https://pypi.anaconda.org/scientific-python-nightly-wheels/simple | |
python -m pip install --pre ewah-bool-utils | |
python -m pip install git+https://github.com/yt-project/unyt.git | |
python -m pip install git+https://github.com/pytest-dev/pytest.git | |
- name: Build | |
# --no-build-isolation is used to guarantee that build time dependencies | |
# are not installed by pip as specified from pyproject.toml, hence we get | |
# to use the dev version of numpy at build time. | |
run: | | |
python -m pip -v install -e .[test] --no-build-isolation | |
- run: python -m pip list | |
- name: Run Tests | |
run: | | |
yt config set --local yt log_level 50 # Disable excessive output | |
pytest yt -vvv --color=yes | |
create-issue: | |
if: ${{ failure() && github.event_name == 'schedule' }} | |
needs: [build] | |
permissions: | |
issues: write | |
runs-on: ubuntu-latest | |
name: Create issue on failure | |
steps: | |
- name: Create issue on failure | |
uses: imjohnbo/issue-bot@v3 | |
with: | |
title: 'TST: Upcoming dependency test failures' | |
body: | | |
The weekly build with future dependencies has failed. Check the logs | |
https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
pinned: false | |
close-previous: false | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |