Skip to content

Commit 3bbf6f1

Browse files
Merge branch 'v4-dev' into reference-api-v4
2 parents c25a3ae + b6eecd3 commit 3bbf6f1

File tree

12 files changed

+494
-375
lines changed

12 files changed

+494
-375
lines changed

.github/ci/min-core-deps.yml

Lines changed: 0 additions & 21 deletions
This file was deleted.

.github/ci/min_deps_check.py

Lines changed: 0 additions & 201 deletions
This file was deleted.

.github/ci/policy.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
channels:
2+
- conda-forge
3+
platforms:
4+
- noarch
5+
- linux-64
6+
policy:
7+
# all packages in months
8+
packages:
9+
python: 30
10+
numpy: 18
11+
default: 12
12+
# overrides for the policy
13+
overrides: {}
14+
# these packages are completely ignored
15+
exclude:
16+
- pytest
17+
- hypothesis
18+
- pytest-html
19+
- pytest-cov
20+
- nbval
21+
- uxarray # undergoes active development
22+
- xgcm # undergoes active development
23+
24+
# these packages don't fail the CI, but will be printed in the report
25+
ignored_violations: []

.github/workflows/additional.yml

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,21 @@ jobs:
88
min-version-policy:
99
name: Minimum Version Policy
1010
runs-on: "ubuntu-latest"
11-
defaults:
12-
run:
13-
shell: bash -l {0}
14-
11+
env:
12+
COLUMNS: 120
1513
steps:
1614
- uses: actions/checkout@v5
17-
- name: Setup micromamba
18-
uses: mamba-org/setup-micromamba@v2
19-
with:
20-
environment-name: min-deps
21-
create-args: >-
22-
python=3.12
23-
pyyaml
24-
conda
25-
python-dateutil
26-
27-
- name: Core deps minimum versions policy
28-
run: |
29-
python .github/ci/min_deps_check.py .github/ci/min-core-deps.yml
15+
- uses: astral-sh/setup-uv@v7
16+
- run: |
17+
uv run --with 'minimum-dependency-versions @ git+https://github.com/xarray-contrib/[email protected]' \
18+
python -m minimum_versions validate \
19+
--policy=.github/ci/policy.yaml \
20+
--manifest-path=./pixi.toml \
21+
pixi:test-minimum
3022
3123
linkcheck:
3224
name: pixi run docs-linkcheck
3325
runs-on: "ubuntu-latest"
34-
defaults:
35-
run:
36-
shell: bash -l {0}
3726

3827
steps:
3928
- uses: actions/checkout@v5

.github/workflows/ci.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,27 @@ jobs:
5151
with:
5252
cache: true
5353
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'v4-dev' }} # TODO: Update v4-dev to main when v4 is released
54+
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
55+
- name: Restore cached hypothesis directory
56+
id: restore-hypothesis-cache
57+
uses: actions/cache/restore@v4
58+
with:
59+
path: .hypothesis/
60+
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}
61+
restore-keys: |
62+
cache-hypothesis-${{ runner.os }}-
5463
- name: Unit test
64+
id: unit-test
5565
run: |
5666
pixi run -e ${{ matrix.pixi-environment }} tests -v -s --cov=parcels --cov-report=xml --html="${{ env.COVERAGE_REPORT }}" --self-contained-html
67+
# explicitly save the cache so it gets updated, also do this even if it fails.
68+
- name: Save cached hypothesis directory
69+
id: save-hypothesis-cache
70+
if: always() && steps.unit-test.outcome != 'skipped'
71+
uses: actions/cache/save@v4
72+
with:
73+
path: .hypothesis/
74+
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}
5775
- name: Codecov
5876
uses: codecov/[email protected]
5977
env:

pixi.toml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ setuptools_scm = "*"
1919

2020
[package.run-dependencies] # keep section in sync with pyproject.toml dependencies
2121
python = ">=3.11"
22-
netcdf4 = ">=1.7.2"
22+
netcdf4 = ">=1.6.0"
2323
numpy = ">=2.1.0"
2424
tqdm = ">=4.50.0"
2525
xarray = ">=2024.5.0"
@@ -35,18 +35,18 @@ pooch = ">=1.8.0"
3535
parcels = { path = "." }
3636

3737
[feature.minimum.dependencies]
38-
python = "==3.11"
39-
netcdf4 = "==1.7.2"
40-
numpy = "==2.1.0"
41-
tqdm = "==4.50.0"
42-
xarray = "==2024.5.0"
43-
uxarray = "==2025.3.0"
44-
dask = "==2024.5.1"
45-
zarr = "==2.15.0"
46-
xgcm = "==0.9.0"
47-
cf_xarray = "==0.8.6"
48-
cftime = "==1.6.3"
49-
pooch = "==1.8.0"
38+
python = "3.11.*"
39+
netcdf4 = "1.6.*"
40+
numpy = "2.1.*"
41+
tqdm = "4.50.*"
42+
xarray = "2024.5.*"
43+
uxarray = "2025.3.*"
44+
dask = "2024.5.*"
45+
zarr = "2.15.*"
46+
xgcm = "0.9.*"
47+
cf_xarray = "0.8.*"
48+
cftime = "1.6.*"
49+
pooch = "1.8.*"
5050

5151
[feature.py311.dependencies]
5252
python = "3.11.*"

0 commit comments

Comments
 (0)