HEAD of dependencies #1496
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: HEAD of dependencies | |
on: | |
# Run daily at 0:01 UTC | |
schedule: | |
- cron: '1 0 * * *' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
release-candidates: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, macos-13] | |
python-version: ['3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install uv | |
uv pip install --system --upgrade pip wheel | |
uv pip --no-cache --quiet install --system --upgrade --pre ".[all,test]" | |
python -m pip list | |
- name: List release candidates, alpha, and beta releases | |
run: | | |
python -m pip list | egrep '[0-9](rc|[ab])[0-9]' | |
- name: Test with pytest | |
run: | | |
pytest --ignore tests/contrib --ignore tests/benchmarks --ignore tests/test_notebooks.py | |
scipy: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install uv | |
uv pip install --system --upgrade pip wheel | |
uv pip --no-cache --quiet install --system --upgrade ".[all,test]" | |
uv pip uninstall --system scipy | |
# uv wants to upgrade dependencies (numpy) to a dev release too, so don't --upgrade | |
uv pip install --system --index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple scipy | |
python -m pip list | |
- name: Test with pytest | |
run: | | |
pytest --ignore tests/contrib --ignore tests/benchmarks --ignore tests/test_notebooks.py | |
iminuit: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install uv | |
uv pip install --system --upgrade pip wheel | |
uv pip --no-cache --quiet install --system --upgrade ".[all,test]" | |
uv pip uninstall --system iminuit | |
uv pip install --system --upgrade cython | |
uv pip install --system --upgrade git+https://github.com/scikit-hep/iminuit.git | |
python -m pip list | |
- name: Test with pytest | |
run: | | |
pytest --ignore tests/contrib --ignore tests/benchmarks --ignore tests/test_notebooks.py | |
uproot5: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install uv | |
uv pip install --system --upgrade pip wheel | |
uv pip --no-cache --quiet install --system --upgrade ".[all,test]" | |
uv pip uninstall --system uproot | |
uv pip install --system --upgrade git+https://github.com/scikit-hep/uproot5.git | |
python -m pip list | |
- name: Test with pytest | |
run: | | |
pytest --ignore tests/contrib --ignore tests/benchmarks --ignore tests/test_notebooks.py | |
matplotlib: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install uv | |
uv pip install --system --upgrade pip wheel | |
uv pip --no-cache --quiet install --system --upgrade ".[all,test]" | |
uv pip uninstall --system matplotlib | |
# Need to use --extra-index-url as all dependencies aren't on scientific-python-nightly-wheels package index. | |
# Need to use --pre as dev releases will need priority over stable releases. | |
# Note that uv and pip differ on --extra-index-url priority | |
# c.f. https://github.com/scientific-python/upload-nightly-action/issues/76 | |
uv pip install --system \ | |
--pre \ | |
--index-url https://pypi.org/simple/ \ | |
--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \ | |
matplotlib | |
- name: List installed Python packages | |
run: python -m pip list | |
- name: Test contrib module API with pytest | |
run: | | |
pytest tests/contrib | |
pytest: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install uv | |
uv pip install --system --upgrade pip wheel | |
uv pip --no-cache --quiet install --system --upgrade ".[all,test]" | |
uv pip uninstall --system pytest | |
uv pip install --system --upgrade git+https://github.com/pytest-dev/pytest.git | |
python -m pip list | |
- name: Test with pytest | |
run: | | |
pytest --ignore tests/contrib --ignore tests/benchmarks --ignore tests/test_notebooks.py |