Skip to content

Commit 5d3d3d6

Browse files
authored
Merge branch 'main' into autodiff-uncerts
2 parents d3142fc + 64ab264 commit 5d3d3d6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+866
-430
lines changed

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ updates:
55
directory: "/"
66
schedule:
77
interval: "weekly"
8+
groups:
9+
actions:
10+
patterns:
11+
- "*"
812
labels:
913
- "github-actions"
1014
- "dependencies"

.github/workflows/bump-version.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,11 +196,11 @@ jobs:
196196
echo "steps.script.outputs.old_tag=v${current_tag}"
197197
echo "old_tag=v${current_tag}" >> $GITHUB_OUTPUT
198198
199-
- name: Set up Python 3.11
199+
- name: Set up Python 3.12
200200
if: success()
201-
uses: actions/setup-python@v4
201+
uses: actions/setup-python@v5
202202
with:
203-
python-version: '3.11'
203+
python-version: '3.12'
204204

205205
- name: Install Python dependencies
206206
run: |

.github/workflows/ci-windows.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CI on Windows
2+
3+
on:
4+
# Run daily at 1:23 UTC
5+
schedule:
6+
- cron: '23 1 * * *'
7+
workflow_dispatch:
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
test:
15+
16+
runs-on: ${{ matrix.os }}
17+
strategy:
18+
matrix:
19+
os: [windows-latest]
20+
python-version: ['3.9', '3.10', '3.11', '3.12']
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
25+
- name: Set up Python ${{ matrix.python-version }}
26+
uses: actions/setup-python@v5
27+
with:
28+
python-version: ${{ matrix.python-version }}
29+
30+
- name: Install dependencies
31+
run: |
32+
python -m pip install --upgrade pip setuptools wheel
33+
python -m pip install --upgrade '.[all,test]'
34+
35+
- name: List installed Python packages
36+
run: python -m pip list
37+
38+
- name: Test with pytest and coverage
39+
# FIXME: ignore tests/test_scripts.py as runner breaks on Windows currently
40+
run: |
41+
coverage run --module pytest --ignore tests/test_scripts.py --ignore tests/contrib --ignore tests/benchmarks --ignore tests/test_notebooks.py
42+
43+
- name: Coverage report for core project
44+
run: |
45+
coverage report
46+
coverage xml

.github/workflows/ci.yml

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,26 @@ jobs:
2727
strategy:
2828
matrix:
2929
os: [ubuntu-latest]
30-
python-version: ['3.8', '3.9', '3.10', '3.11']
30+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
3131
include:
3232
- os: macos-latest
33-
python-version: '3.11'
33+
python-version: '3.12'
34+
# Apple silicon runner
35+
- os: macos-14
36+
python-version: '3.12'
3437

3538
steps:
3639
- uses: actions/checkout@v4
3740

3841
- name: Set up Python ${{ matrix.python-version }}
39-
uses: actions/setup-python@v4
42+
uses: actions/setup-python@v5
4043
with:
4144
python-version: ${{ matrix.python-version }}
4245

4346
- name: Install dependencies
4447
run: |
4548
python -m pip install --upgrade pip setuptools wheel
46-
python -m pip install --upgrade .[test]
49+
python -m pip install --upgrade ".[all,test]"
4750
4851
- name: List installed Python packages
4952
run: python -m pip list
@@ -66,10 +69,12 @@ jobs:
6669
if: >-
6770
github.event_name != 'schedule' &&
6871
matrix.os == 'ubuntu-latest'
69-
uses: codecov/codecov-action@v3
72+
uses: codecov/codecov-action@v4
7073
with:
74+
fail_ci_if_error: true
7175
files: ./coverage.xml
7276
flags: unittests-${{ matrix.python-version }}
77+
token: ${{ secrets.CODECOV_TOKEN }}
7378

7479
- name: Test Contrib module with pytest
7580
run: |
@@ -81,30 +86,35 @@ jobs:
8186
coverage xml
8287
8388
- name: Report contrib coverage with Codecov
84-
if: github.event_name != 'schedule' && matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
85-
uses: codecov/codecov-action@v3
89+
if: github.event_name != 'schedule' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'
90+
uses: codecov/codecov-action@v4
8691
with:
92+
fail_ci_if_error: true
8793
files: ./coverage.xml
8894
flags: contrib
95+
token: ${{ secrets.CODECOV_TOKEN }}
8996

9097
- name: Test docstring examples with doctest
91-
if: matrix.python-version == '3.11'
98+
# TODO: Don't currently try to match amd64 and arm64 floating point for docs, but will in the future.
99+
if: matrix.python-version == '3.12' && matrix.os != 'macos-14'
92100
run: coverage run --data-file=.coverage-doctest --module pytest src/ README.rst
93101

94102
- name: Coverage report for doctest only
95-
if: matrix.python-version == '3.11'
103+
if: matrix.python-version == '3.12' && matrix.os != 'macos-14'
96104
run: |
97105
coverage report --data-file=.coverage-doctest
98106
coverage xml --data-file=.coverage-doctest -o doctest-coverage.xml
99107
100108
- name: Report doctest coverage with Codecov
101-
if: github.event_name != 'schedule' && matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest'
102-
uses: codecov/codecov-action@v3
109+
if: github.event_name != 'schedule' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'
110+
uses: codecov/codecov-action@v4
103111
with:
112+
fail_ci_if_error: true
104113
files: doctest-coverage.xml
105114
flags: doctest
115+
token: ${{ secrets.CODECOV_TOKEN }}
106116

107117
- name: Run benchmarks
108-
if: github.event_name == 'schedule' && matrix.python-version == '3.11'
118+
if: github.event_name == 'schedule' && matrix.python-version == '3.12'
109119
run: |
110120
pytest --benchmark-sort=mean tests/benchmarks/test_benchmark.py

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626

2727
# Initializes the CodeQL tools for scanning.
2828
- name: Initialize CodeQL
29-
uses: github/codeql-action/init@v2
29+
uses: github/codeql-action/init@v3
3030
with:
3131
languages: python
3232
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -35,4 +35,4 @@ jobs:
3535
# queries: ./path/to/local/query, your-org/your-repo/queries@main
3636

3737
- name: Perform CodeQL Analysis
38-
uses: github/codeql-action/analyze@v2
38+
uses: github/codeql-action/analyze@v3

.github/workflows/dependencies-head.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,20 @@ jobs:
1717
strategy:
1818
matrix:
1919
os: [ubuntu-latest, macos-latest]
20-
python-version: ['3.11']
20+
python-version: ['3.12']
2121

2222
steps:
2323
- uses: actions/checkout@v4
2424

2525
- name: Set up Python ${{ matrix.python-version }}
26-
uses: actions/setup-python@v4
26+
uses: actions/setup-python@v5
2727
with:
2828
python-version: ${{ matrix.python-version }}
2929

3030
- name: Install dependencies
3131
run: |
3232
python -m pip install --upgrade pip setuptools wheel
33-
python -m pip --no-cache-dir --quiet install --upgrade --pre .[test]
33+
python -m pip --no-cache-dir --quiet install --upgrade --pre ".[all,test]"
3434
python -m pip list
3535
3636
- name: List release candidates, alpha, and beta releases
@@ -47,13 +47,13 @@ jobs:
4747
strategy:
4848
matrix:
4949
os: [ubuntu-latest]
50-
python-version: ['3.11']
50+
python-version: ['3.12']
5151

5252
steps:
5353
- uses: actions/checkout@v4
5454

5555
- name: Set up Python ${{ matrix.python-version }}
56-
uses: actions/setup-python@v4
56+
uses: actions/setup-python@v5
5757
with:
5858
python-version: ${{ matrix.python-version }}
5959

@@ -62,7 +62,7 @@ jobs:
6262
- name: Install dependencies
6363
run: |
6464
python -m pip install --upgrade pip setuptools wheel
65-
python -m pip --no-cache-dir --quiet install --upgrade .[test]
65+
python -m pip --no-cache-dir --quiet install --upgrade ".[all,test]"
6666
python -m pip uninstall --yes scipy
6767
python -m pip install --upgrade --index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple scipy
6868
python -m pip list
@@ -77,18 +77,18 @@ jobs:
7777
strategy:
7878
matrix:
7979
os: [ubuntu-latest]
80-
python-version: ['3.11']
80+
python-version: ['3.12']
8181

8282
steps:
8383
- uses: actions/checkout@v4
8484
- name: Set up Python ${{ matrix.python-version }}
85-
uses: actions/setup-python@v4
85+
uses: actions/setup-python@v5
8686
with:
8787
python-version: ${{ matrix.python-version }}
8888
- name: Install dependencies
8989
run: |
9090
python -m pip install --upgrade pip setuptools wheel
91-
python -m pip --no-cache-dir --quiet install --upgrade .[test]
91+
python -m pip --no-cache-dir --quiet install --upgrade ".[all,test]"
9292
python -m pip uninstall --yes iminuit
9393
python -m pip install --upgrade cython
9494
python -m pip install --upgrade git+https://github.com/scikit-hep/iminuit.git
@@ -103,18 +103,18 @@ jobs:
103103
strategy:
104104
matrix:
105105
os: [ubuntu-latest]
106-
python-version: ['3.11']
106+
python-version: ['3.12']
107107

108108
steps:
109109
- uses: actions/checkout@v4
110110
- name: Set up Python ${{ matrix.python-version }}
111-
uses: actions/setup-python@v4
111+
uses: actions/setup-python@v5
112112
with:
113113
python-version: ${{ matrix.python-version }}
114114
- name: Install dependencies
115115
run: |
116116
python -m pip install --upgrade pip setuptools wheel
117-
python -m pip --no-cache-dir --quiet install --upgrade .[test]
117+
python -m pip --no-cache-dir --quiet install --upgrade ".[all,test]"
118118
python -m pip uninstall --yes uproot
119119
python -m pip install --upgrade git+https://github.com/scikit-hep/uproot5.git
120120
python -m pip list
@@ -128,20 +128,20 @@ jobs:
128128
strategy:
129129
matrix:
130130
os: [ubuntu-latest]
131-
python-version: ['3.11']
131+
python-version: ['3.12']
132132

133133
steps:
134134
- uses: actions/checkout@v4
135135

136136
- name: Set up Python ${{ matrix.python-version }}
137-
uses: actions/setup-python@v4
137+
uses: actions/setup-python@v5
138138
with:
139139
python-version: ${{ matrix.python-version }}
140140

141141
- name: Install dependencies
142142
run: |
143143
python -m pip install --upgrade pip setuptools wheel
144-
python -m pip --no-cache-dir --quiet install --upgrade .[test]
144+
python -m pip --no-cache-dir --quiet install --upgrade ".[all,test]"
145145
python -m pip uninstall --yes matplotlib
146146
# Need to use --extra-index-url as dependencies aren't on scientific-python-nightly-wheels package index.
147147
# Need to use --pre as dev releases will need priority over stable releases.
@@ -165,18 +165,18 @@ jobs:
165165
strategy:
166166
matrix:
167167
os: [ubuntu-latest]
168-
python-version: ['3.11']
168+
python-version: ['3.12']
169169

170170
steps:
171171
- uses: actions/checkout@v4
172172
- name: Set up Python ${{ matrix.python-version }}
173-
uses: actions/setup-python@v4
173+
uses: actions/setup-python@v5
174174
with:
175175
python-version: ${{ matrix.python-version }}
176176
- name: Install dependencies
177177
run: |
178178
python -m pip install --upgrade pip setuptools wheel
179-
python -m pip --no-cache-dir --quiet install --upgrade .[test]
179+
python -m pip --no-cache-dir --quiet install --upgrade ".[all,test]"
180180
python -m pip uninstall --yes pytest
181181
python -m pip install --upgrade git+https://github.com/pytest-dev/pytest.git
182182
python -m pip list

.github/workflows/docs.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
fetch-depth: 0
2323

2424
- name: Set up Python
25-
uses: actions/setup-python@v4
25+
uses: actions/setup-python@v5
2626
with:
27-
python-version: '3.11'
27+
python-version: '3.12'
2828

2929
- name: Install Python dependencies
3030
run: |
@@ -91,7 +91,7 @@ jobs:
9191
done
9292
9393
- name: Upload artifact
94-
uses: actions/upload-pages-artifact@v2
94+
uses: actions/upload-pages-artifact@v3
9595
with:
9696
path: 'docs/_build/html'
9797

@@ -113,8 +113,8 @@ jobs:
113113

114114
steps:
115115
- name: Setup Pages
116-
uses: actions/configure-pages@v3
116+
uses: actions/configure-pages@v5
117117

118118
- name: Deploy to GitHub Pages
119119
id: deployment
120-
uses: actions/deploy-pages@v2
120+
uses: actions/deploy-pages@v4

.github/workflows/lower-bound-requirements.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ jobs:
2020
- uses: actions/checkout@v4
2121

2222
- name: Set up Python ${{ matrix.python-version }}
23-
uses: actions/setup-python@v4
23+
uses: actions/setup-python@v5
2424
with:
2525
python-version: ${{ matrix.python-version }}
2626

2727
- name: Install dependencies and force lowest bound
2828
run: |
2929
python -m pip install --upgrade pip setuptools wheel
30-
python -m pip --no-cache-dir install --constraint tests/constraints.txt .[test]
30+
python -m pip --no-cache-dir install --constraint tests/constraints.txt ".[all,test]"
3131
3232
- name: List installed Python packages
3333
run: python -m pip list

.github/workflows/notebooks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@ jobs:
1616
runs-on: ubuntu-latest
1717
strategy:
1818
matrix:
19-
python-version: ['3.11']
19+
python-version: ['3.12']
2020

2121
steps:
2222
- uses: actions/checkout@v4
2323

2424
- name: Set up Python
25-
uses: actions/setup-python@v4
25+
uses: actions/setup-python@v5
2626
with:
2727
python-version: ${{ matrix.python-version }}
2828

2929
- name: Install dependencies
3030
run: |
3131
python -m pip install --upgrade pip setuptools wheel
3232
# FIXME: c.f. https://github.com/scikit-hep/pyhf/issues/2104
33-
python -m pip install --upgrade .[test] 'jupyter-client<8.0.0'
33+
python -m pip install --upgrade ".[all,test]" 'jupyter-client<8.0.0'
3434
3535
- name: List installed Python packages
3636
run: python -m pip list

0 commit comments

Comments
 (0)