CI (bleeding edge) #107
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: CI (bleeding edge) | |
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: | |
python-version: 3.13-dev | |
- uses: astral-sh/setup-uv@v3 | |
- name: Install dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade setuptools wheel | |
uv pip install --pre --no-build numpy \ | |
--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple | |
uv pip install --pre Cython | |
- 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: | | |
uv pip install -e . --no-build-isolation | |
uv pip install --pre pytest | |
- run: uv pip list | |
- name: Run Tests | |
run: | | |
source .venv/bin/activate | |
pytest --color=yes -ra | |
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 }} |