Skip to content

Commit 184f382

Browse files
Merge branch 'main' into rename-to-between_fill
2 parents 829740b + 3a72b63 commit 184f382

94 files changed

Lines changed: 686 additions & 315 deletions

File tree

Some content is hidden

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

.github/release-drafter.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ exclude-labels:
2222
- 'skip-changelog'
2323
exclude-contributors:
2424
- 'actions-bot'
25+
- 'Copilot'
26+
- 'copilot-swe-agent[bot]'
2527
- 'dependabot'
2628
- 'dependabot[bot]'
2729
category-template: '### $TITLE'

.github/workflows/benchmarks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
steps:
3737
# Checkout current git repository
3838
- name: Checkout
39-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
39+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
4040
with:
4141
# fetch all history so that setuptools-scm works
4242
fetch-depth: 0
@@ -84,7 +84,7 @@ jobs:
8484

8585
# Run the benchmark tests
8686
- name: Run benchmarks
87-
uses: CodSpeedHQ/action@d872884a306dd4853acf0f584f4b706cf0cc72a2 # v4.13.0
87+
uses: CodSpeedHQ/action@9d332c4d90b43981c3e55ae8e38e68709996240f # v4.17.0
8888
with:
8989
mode: "instrumentation"
9090
# 'bash -el -c' is needed to use the custom shell.

.github/workflows/cache_data.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,22 @@ on:
2727

2828
permissions: {}
2929

30+
concurrency:
31+
group: ${{ github.workflow }}-${{ github.ref }}
32+
cancel-in-progress: true
33+
3034
jobs:
3135
gmt_cache:
3236
name: Cache GMT artifacts
33-
runs-on: macos-slim
37+
runs-on: ubuntu-slim
3438
defaults:
3539
run:
3640
shell: bash -l {0}
3741

3842
steps:
3943
# Checkout current git repository
4044
- name: Checkout
41-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
45+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
4246
with:
4347
# fetch all history so that setuptools-scm works
4448
fetch-depth: 0
@@ -74,7 +78,7 @@ jobs:
7478

7579
# Upload the downloaded files as artifacts to GitHub
7680
- name: Upload artifacts to GitHub
77-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
81+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
7882
with:
7983
name: gmt-cache
8084
include-hidden-files: true

.github/workflows/cache_dvc.yaml

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

3737
steps:
3838
- name: Checkout
39-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
39+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
4040
with:
4141
# fetch all history so that setuptools-scm works
4242
fetch-depth: 0
@@ -53,7 +53,7 @@ jobs:
5353
dvc pull --no-run-cache --verbose && ls -lhR pygmt/tests/baseline/
5454
5555
- name: Upload DVC cache as artifacts to GitHub
56-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
56+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
5757
with:
5858
name: dvc-cache
5959
include-hidden-files: true

.github/workflows/check-links.yml

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

2727
steps:
2828
- name: Checkout the repository
29-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
29+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
3030
with:
3131
path: repository
3232
persist-credentials: false
3333

3434
- name: Checkout the documentation
35-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
35+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
3636
with:
3737
ref: gh-pages
3838
path: documentation

.github/workflows/ci_docs.yml

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ jobs:
5353
strategy:
5454
fail-fast: false
5555
matrix:
56-
os: [ubuntu-latest, macos-latest]
57-
# os: [ubuntu-latest, macos-latest, windows-latest]
56+
os: [ubuntu-latest, macos-latest, windows-latest]
5857
# Is it a draft Pull Request (true or false)?
5958
isDraft:
6059
- ${{ github.event.pull_request.draft }}
@@ -72,7 +71,7 @@ jobs:
7271
steps:
7372
# Checkout current git repository
7473
- name: Checkout
75-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
74+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
7675
with:
7776
# fetch all history so that setuptools-scm works
7877
fetch-depth: 0
@@ -93,7 +92,7 @@ jobs:
9392
create-args: >-
9493
python=3.14
9594
gmt=6.6.0
96-
ghostscript=10.07.0
95+
ghostscript=10.07.1
9796
numpy
9897
pandas
9998
xarray
@@ -116,7 +115,7 @@ jobs:
116115
sphinx_rtd_theme
117116
cairosvg
118117
sphinxcontrib-svg2pdfconverter
119-
tectonic
118+
tectonic=0.15
120119
121120
# Download cached remote files (artifacts) from GitHub
122121
- name: Download remote data from GitHub
@@ -136,10 +135,25 @@ jobs:
136135
python -m pip install dist/*
137136
138137
- name: Build the HTML documentation
139-
run: make -C doc clean html
138+
run: |
139+
log_file="${RUNNER_TEMP}/sphinx-html.log"
140+
make -C doc clean html 2>&1 | tee "${log_file}"
141+
exit_code=${PIPESTATUS[0]}
142+
if [[ "${RUNNER_OS}" == "Windows" && "${exit_code}" -eq 2 ]] && grep -q "make: .* Error 2816" "${log_file}"; then
143+
echo "Sphinx HTML build exited with make error 2816 (segmentation fault) on Windows; allowing workflow to continue."
144+
exit 0
145+
fi
146+
exit "${exit_code}"
140147
141148
- name: Build the PDF documentation
142-
run: make -C doc pdf
149+
run: |
150+
log_file="${RUNNER_TEMP}/sphinx-pdf.log"
151+
make -C doc pdf 2>&1 | tee "${log_file}"
152+
exit_code=${PIPESTATUS[0]}
153+
if [[ "${RUNNER_OS}" == "Windows" && "${exit_code}" -eq 2 ]] && grep -q "make: .* Error 2816" "${log_file}"; then
154+
echo "Sphinx PDF build exited with make error 2816 (segmentation fault) on Windows; allowing workflow to continue."
155+
exit 0
156+
fi
143157
144158
- name: Create the HTML ZIP archive and rename the PDF file
145159
run: |
@@ -150,7 +164,7 @@ jobs:
150164
cd ../..
151165
152166
- name: Upload PDF as artifact for previewing on pull requests
153-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
167+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
154168
if: github.event_name == 'pull_request' && matrix.os == 'ubuntu-latest'
155169
with:
156170
name: artifact-pygmt-docs-pdf
@@ -168,7 +182,7 @@ jobs:
168182
REF_NAME: ${{ github.ref_name }}
169183

170184
- name: Checkout the gh-pages branch
171-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
185+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
172186
with:
173187
ref: gh-pages
174188
# Checkout to this folder instead of the current one

.github/workflows/ci_doctests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
steps:
3838
# Checkout current git repository
3939
- name: Checkout
40-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
4141
with:
4242
# fetch all history so that setuptools-scm works
4343
fetch-depth: 0

.github/workflows/ci_tests.yaml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ jobs:
7575
include:
7676
# Python 3.12 + core packages (minimum supported versions) + optional packages (minimum supported versions if any)
7777
- python-version: '3.12'
78-
numpy-version: '2.0'
79-
pandas-version: '=2.2'
80-
xarray-version: '=2024.5'
78+
numpy-version: '2.1'
79+
pandas-version: '=2.3'
80+
xarray-version: '=2024.7'
8181
optional-packages: ' contextily geopandas ipython pyarrow-core rioxarray netCDF4 sphinx-gallery'
8282
# Python 3.14 + core packages (latest versions) + optional packages
8383
- python-version: '3.14'
@@ -107,7 +107,7 @@ jobs:
107107
steps:
108108
# Checkout current git repository
109109
- name: Checkout
110-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
110+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
111111
with:
112112
# fetch all history so that setuptools-scm works
113113
fetch-depth: 0
@@ -128,7 +128,7 @@ jobs:
128128
create-args: >-
129129
python=${{ matrix.python-version }}${{ matrix.optional-packages }}
130130
gmt=6.6.0
131-
ghostscript=10.07.0
131+
ghostscript=10.07.1
132132
numpy=${{ matrix.numpy-version }}
133133
pandas${{ matrix.pandas-version }}
134134
xarray${{ matrix.xarray-version }}
@@ -154,7 +154,7 @@ jobs:
154154
GH_TOKEN: ${{ github.token }}
155155

156156
- name: Install uv
157-
uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0
157+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
158158
with:
159159
activate-environment: true
160160
python-version: ${{ matrix.python-version }}
@@ -189,19 +189,27 @@ jobs:
189189

190190
# Run the regular tests
191191
- name: Run tests
192-
run: make test PYTEST_EXTRA="-r P --reruns 2"
192+
run: |
193+
log_file="${RUNNER_TEMP}/pytest.log"
194+
make test PYTEST_EXTRA="-r P --reruns 2" 2>&1 | tee "${log_file}"
195+
exit_code=${PIPESTATUS[0]}
196+
if [[ "${RUNNER_OS}" == "Windows" && "${exit_code}" -eq 2 ]] && grep -q "make: .* Error 2816" "${log_file}"; then
197+
echo "Tests exited with make error 2816 (segmentation fault) on Windows; allowing workflow to continue."
198+
exit 0
199+
fi
200+
exit "${exit_code}"
193201
194202
# Upload diff images on test failure
195203
- name: Upload diff images if any test fails
196-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
204+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
197205
if: failure()
198206
with:
199207
name: artifact-${{ matrix.os }}-${{ matrix.python-version }}
200208
path: tmp-test-dir-with-unique-name
201209

202210
# Upload coverage to Codecov
203211
- name: Upload coverage to Codecov
204-
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
212+
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
205213
if: success() || failure()
206214
with:
207215
use_oidc: true

.github/workflows/ci_tests_dev.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
steps:
5050
# Checkout current git repository
5151
- name: Checkout
52-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
52+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
5353
with:
5454
# fetch all history so that setuptools-scm works
5555
fetch-depth: 0
@@ -74,7 +74,7 @@ jobs:
7474
ninja
7575
curl
7676
fftw
77-
ghostscript=10.07.0
77+
ghostscript=10.07.1
7878
glib
7979
hdf5
8080
libblas
@@ -95,7 +95,7 @@ jobs:
9595

9696
# Checkout current GMT repository
9797
- name: Checkout the GMT source from ${{ matrix.gmt_git_ref }} branch
98-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
98+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
9999
with:
100100
repository: 'GenericMappingTools/gmt'
101101
ref: ${{ matrix.gmt_git_ref }}
@@ -188,7 +188,7 @@ jobs:
188188

189189
# Upload diff images on test failure
190190
- name: Upload diff images if any test fails
191-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
191+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
192192
if: ${{ failure() }}
193193
with:
194194
name: artifact-${{ matrix.os }}-GMT-${{ matrix.gmt_git_ref }}

.github/workflows/ci_tests_legacy.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
steps:
4747
# Checkout current git repository
4848
- name: Checkout
49-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
49+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
5050
with:
5151
# fetch all history so that setuptools-scm works
5252
fetch-depth: 0
@@ -61,9 +61,9 @@ jobs:
6161
python=3.12
6262
gmt=${{ matrix.gmt_version }}
6363
ghostscript
64-
numpy=2.0
65-
pandas=2.2
66-
xarray=2024.5
64+
numpy=2.1
65+
pandas=2.3
66+
xarray=2024.7
6767
packaging=24.2
6868
contextily=1.5
6969
geopandas=1.0

0 commit comments

Comments
 (0)