Skip to content

Commit 8688953

Browse files
authored
Merge branch 'main' into fix-zip-lock
2 parents d77583a + 1cb1cce commit 8688953

95 files changed

Lines changed: 3613 additions & 748 deletions

Some content is hidden

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

.github/dependabot.yml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,6 @@ updates:
1010
actions:
1111
patterns:
1212
- "*"
13-
14-
# Updates for support/v2 branch
15-
- package-ecosystem: "pip"
16-
directory: "/"
17-
target-branch: "support/v2"
18-
schedule:
19-
interval: "weekly"
20-
groups:
21-
requirements:
22-
patterns:
23-
- "*"
2413
- package-ecosystem: "github-actions"
2514
directory: "/"
2615
target-branch: "support/v2"

.github/workflows/check_changelogs.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@ name: Check changelog entries
22

33
on:
44
pull_request:
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: read
59

610
jobs:
711
check-changelogs:
812
name: Check changelog entries
913
runs-on: ubuntu-latest
1014

1115
steps:
12-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
16+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1317

1418
- name: Install uv
1519
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0

.github/workflows/codspeed.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: CodSpeed Benchmarks
2+
3+
on:
4+
push:
5+
branches:
6+
- "main"
7+
pull_request:
8+
types: [labeled, synchronize]
9+
# `workflow_dispatch` allows CodSpeed to trigger backtest
10+
# performance analysis in order to generate initial data.
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
benchmarks:
18+
name: Run benchmarks
19+
runs-on: codspeed-macro
20+
# Only run benchmarks for: pushes to main, manual triggers, or PRs with 'benchmark' label
21+
if: |
22+
github.event_name == 'push' ||
23+
github.event_name == 'workflow_dispatch' ||
24+
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'benchmark'))
25+
steps:
26+
- uses: actions/checkout@v6
27+
with:
28+
fetch-depth: 0 # grab all branches and tags
29+
- name: Set up Python
30+
uses: actions/setup-python@v6
31+
with:
32+
python-version: "3.11"
33+
- name: Install Hatch
34+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
35+
with:
36+
version: '1.16.5'
37+
- name: Run the benchmarks
38+
uses: CodSpeedHQ/action@v4
39+
with:
40+
mode: walltime
41+
run: hatch run test.py3.11-minimal:pytest tests/benchmarks --codspeed

.github/workflows/gpu_test.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,21 @@ on:
1313
env:
1414
LD_LIBRARY_PATH: /usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64
1515

16+
permissions:
17+
contents: read
18+
1619
concurrency:
1720
group: ${{ github.workflow }}-${{ github.ref }}
1821
cancel-in-progress: true
1922

2023
jobs:
2124
test:
22-
name: py=${{ matrix.python-version }}, np=${{ matrix.numpy-version }}, deps=${{ matrix.dependency-set }}
25+
name: py=${{ matrix.python-version }}
2326

2427
runs-on: gpu-runner
2528
strategy:
2629
matrix:
2730
python-version: ['3.11']
28-
numpy-version: ['2.2']
29-
dependency-set: ["minimal"]
3031

3132
steps:
3233
- uses: actions/checkout@v6
@@ -55,17 +56,17 @@ jobs:
5556
with:
5657
python-version: ${{ matrix.python-version }}
5758
cache: 'pip'
58-
- name: Install Hatch and CuPy
59-
run: |
60-
python -m pip install --upgrade pip
61-
pip install hatch
59+
- name: Install Hatch
60+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
61+
with:
62+
version: '1.16.5'
6263
- name: Set Up Hatch Env
6364
run: |
64-
hatch env create gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}
65-
hatch env run -e gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env
65+
hatch env create gputest.py${{ matrix.python-version }}
66+
hatch env run -e gputest.py${{ matrix.python-version }} list-env
6667
- name: Run Tests
6768
run: |
68-
hatch env run --env gputest.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-coverage-gpu
69+
hatch env run --env gputest.py${{ matrix.python-version }} run-coverage
6970
7071
- name: Upload coverage
7172
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1

.github/workflows/hypothesis.yaml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ on:
99
- cron: "0 0 * * *" # Daily “At 00:00” UTC
1010
workflow_dispatch: # allows you to trigger manually
1111

12+
permissions:
13+
contents: read
14+
1215
env:
1316
FORCE_COLOR: 3
1417

@@ -24,7 +27,6 @@ jobs:
2427
strategy:
2528
matrix:
2629
python-version: ['3.12']
27-
numpy-version: ['2.2']
2830
dependency-set: ["optional"]
2931

3032
steps:
@@ -42,13 +44,13 @@ jobs:
4244
python-version: ${{ matrix.python-version }}
4345
cache: 'pip'
4446
- name: Install Hatch
45-
run: |
46-
python -m pip install --upgrade pip
47-
pip install hatch
47+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
48+
with:
49+
version: '1.16.5'
4850
- name: Set Up Hatch Env
4951
run: |
50-
hatch env create test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}
51-
hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env
52+
hatch env create test.py${{ matrix.python-version }}-${{ matrix.dependency-set }}
53+
hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.dependency-set }} list-env
5254
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
5355
- name: Restore cached hypothesis directory
5456
id: restore-hypothesis-cache
@@ -64,7 +66,7 @@ jobs:
6466
id: status
6567
run: |
6668
echo "Using Hypothesis profile: $HYPOTHESIS_PROFILE"
67-
hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-hypothesis
69+
hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.dependency-set }} run-hypothesis
6870
6971
# explicitly save the cache so it gets updated, also do this even if it fails.
7072
- name: Save cached hypothesis directory

.github/workflows/lint.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: [main, 3.1.x]
6+
pull_request:
7+
branches: [main, 3.1.x]
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
lint:
19+
name: Lint
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v6
23+
- uses: j178/prek-action@v1

.github/workflows/needs_release_notes.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: "Pull Request Labeler"
22

33
on:
4-
- pull_request_target
4+
- pull_request_target:
5+
types: [opened, reopened, synchronize]
56

67
jobs:
78
labeler:

.github/workflows/nightly_wheels.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
- cron: '0 2 * * *'
77
workflow_dispatch:
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
build_and_upload_nightly:
1114
name: Build and upload nightly wheels
@@ -22,10 +25,10 @@ jobs:
2225
with:
2326
python-version: '3.13'
2427

25-
- name: Install build dependencies
26-
run: |
27-
python -m pip install --upgrade pip
28-
pip install hatch
28+
- name: Install Hatch
29+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
30+
with:
31+
version: '1.16.5'
2932

3033
- name: Build wheel and sdist
3134
run: hatch build

.github/workflows/releases.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
name: Wheels
22

3-
on: [push, pull_request]
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
412

513
jobs:
614

@@ -21,10 +29,10 @@ jobs:
2129
with:
2230
python-version: '3.11'
2331

24-
- name: Install PyBuild
25-
run: |
26-
python -m pip install --upgrade pip
27-
pip install hatch
32+
- name: Install Hatch
33+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
34+
with:
35+
version: '1.16.5'
2836
- name: Build wheel and sdist
2937
run: hatch build
3038
- uses: actions/upload-artifact@v6

.github/workflows/test.yml

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,35 +10,36 @@ on:
1010
branches: [ main, 3.1.x ]
1111
workflow_dispatch:
1212

13+
permissions:
14+
contents: read
15+
1316
concurrency:
1417
group: ${{ github.workflow }}-${{ github.ref }}
1518
cancel-in-progress: true
1619

1720
jobs:
1821
test:
19-
name: os=${{ matrix.os }}, py=${{ matrix.python-version }}, np=${{ matrix.numpy-version }}, deps=${{ matrix.dependency-set }}
22+
name: os=${{ matrix.os }}, py=${{ matrix.python-version }}, deps=${{ matrix.dependency-set }}
2023

2124
strategy:
2225
matrix:
2326
python-version: ['3.11', '3.12', '3.13']
24-
numpy-version: ['1.26', '2.2']
2527
dependency-set: ["minimal", "optional"]
2628
os: ["ubuntu-latest"]
2729
include:
2830
- python-version: '3.11'
29-
numpy-version: '1.26'
3031
dependency-set: 'optional'
3132
os: 'macos-latest'
33+
3234
- python-version: '3.13'
33-
numpy-version: '2.2'
3435
dependency-set: 'optional'
3536
os: 'macos-latest'
37+
3638
- python-version: '3.11'
37-
numpy-version: '1.26'
3839
dependency-set: 'optional'
3940
os: 'windows-latest'
41+
4042
- python-version: '3.13'
41-
numpy-version: '2.2'
4243
dependency-set: 'optional'
4344
os: 'windows-latest'
4445
runs-on: ${{ matrix.os }}
@@ -53,18 +54,18 @@ jobs:
5354
python-version: ${{ matrix.python-version }}
5455
cache: 'pip'
5556
- name: Install Hatch
56-
run: |
57-
python -m pip install --upgrade pip
58-
pip install hatch
57+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
58+
with:
59+
version: '1.16.5'
5960
- name: Set Up Hatch Env
6061
run: |
61-
hatch env create test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}
62-
hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env
62+
hatch env create test.py${{ matrix.python-version }}-${{ matrix.dependency-set }}
63+
hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.dependency-set }} list-env
6364
- name: Run Tests
6465
env:
6566
HYPOTHESIS_PROFILE: ci
6667
run: |
67-
hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-coverage
68+
hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.dependency-set }} run-coverage
6869
- name: Upload coverage
6970
if: ${{ matrix.dependency-set == 'optional' && matrix.os == 'ubuntu-latest' }}
7071
uses: codecov/codecov-action@v5
@@ -95,9 +96,9 @@ jobs:
9596
python-version: ${{ matrix.python-version }}
9697
cache: 'pip'
9798
- name: Install Hatch
98-
run: |
99-
python -m pip install --upgrade pip
100-
pip install hatch
99+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
100+
with:
101+
version: '1.16.5'
101102
- name: Set Up Hatch Env
102103
run: |
103104
hatch env create ${{ matrix.dependency-set }}
@@ -124,9 +125,9 @@ jobs:
124125
python-version: '3.13'
125126
cache: 'pip'
126127
- name: Install Hatch
127-
run: |
128-
python -m pip install --upgrade pip
129-
pip install hatch
128+
uses: pypa/hatch@257e27e51a6a5616ed08a39a408a21c35c9931bc
129+
with:
130+
version: '1.16.5'
130131
- name: Set Up Hatch Env
131132
run: |
132133
hatch run doctest:pip list

0 commit comments

Comments
 (0)