Skip to content

Commit b90cff3

Browse files
authored
Merge branch 'main' into ci/enable-docs-windows
2 parents f87ec06 + 346c9bf commit b90cff3

233 files changed

Lines changed: 3916 additions & 1044 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/ISSUE_TEMPLATE/4-release_checklist.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ assignees: ''
2020

2121
**Before release**:
2222

23-
- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of GMT, Python and core package dependencies (NumPy, pandas, Xarray)
23+
- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/) to see if we need to bump the minimum supported versions of GMT, Python and core package dependencies (NumPy, pandas, xarray)
2424
- [ ] Review the ["PyGMT Team" page](https://www.pygmt.org/dev/team.html)
2525
- [ ] README looks good on TestPyPI. Visit [TestPyPI](https://test.pypi.org/project/pygmt/#history), click the latest pre-release, and check the homepage.
2626
- [ ] Review new parameter names added/changed for clarity and consistency across the API

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,13 @@ updates:
1616
- "skip-changelog"
1717
cooldown:
1818
default-days: 7
19+
20+
- package-ecosystem: "pre-commit"
21+
directory: "/"
22+
schedule:
23+
interval: "quarterly"
24+
labels:
25+
- "maintenance"
26+
- "skip-changelog"
27+
cooldown:
28+
default-days: 7

.github/release-drafter.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ exclude-labels:
2222
- 'skip-changelog'
2323
exclude-contributors:
2424
- 'actions-bot'
25+
- 'Copilot'
26+
- 'copilot-swe-agent[bot]'
2527
- 'dependabot'
2628
- 'dependabot[bot]'
27-
- 'pre-commit-ci'
28-
- 'pre-commit-ci[bot]'
2929
category-template: '### $TITLE'
3030
change-template: '* $TITLE ([#$NUMBER]($URL))'
3131
sort-by: 'title'
32+
sort-direction: 'ascending'
3233
replacers:
3334
- search: '/@(\w+)?/g'
3435
replace: '[@$1](https://github.com/$1)'

.github/workflows/benchmarks.yml

Lines changed: 3 additions & 3 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@v6.0.1
39+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4040
with:
4141
# fetch all history so that setuptools-scm works
4242
fetch-depth: 0
@@ -48,7 +48,7 @@ jobs:
4848

4949
# Install Micromamba with conda-forge dependencies
5050
- name: Setup Micromamba
51-
uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462 # v2.0.7
51+
uses: mamba-org/setup-micromamba@d7c9bd84e824b79d2af72a2d4196c7f4300d3476 # v3.0.0
5252
with:
5353
environment-name: pygmt
5454
cache-environment: true
@@ -84,7 +84,7 @@ jobs:
8484

8585
# Run the benchmark tests
8686
- name: Run benchmarks
87-
uses: CodSpeedHQ/action@4deb3275dd364fb96fb074c953133d29ec96f80f # v4.10.6
87+
uses: CodSpeedHQ/action@3194d9a39c4d46684cb44bf7207fc56626aad8fd # v4.15.1
8888
with:
8989
mode: "instrumentation"
9090
# 'bash -el -c' is needed to use the custom shell.

.github/workflows/cache_data.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,30 @@ 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-latest
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@v6.0.1
45+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4246
with:
4347
# fetch all history so that setuptools-scm works
4448
fetch-depth: 0
4549
persist-credentials: false
4650

4751
# Install Micromamba with conda-forge dependencies
4852
- name: Setup Micromamba
49-
uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462 # v2.0.7
53+
uses: mamba-org/setup-micromamba@d7c9bd84e824b79d2af72a2d4196c7f4300d3476 # v3.0.0
5054
with:
5155
environment-name: pygmt
5256
create-args: >-
@@ -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@v6.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: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@ permissions: {}
2828
jobs:
2929
dvc_cache:
3030
name: Cache DVC baseline images
31-
runs-on: ubuntu-latest
31+
runs-on: ubuntu-slim
32+
environment: pr-tests
3233
defaults:
3334
run:
3435
shell: bash -l {0}
3536

3637
steps:
3738
- name: Checkout
38-
uses: actions/checkout@v6.0.1
39+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3940
with:
4041
# fetch all history so that setuptools-scm works
4142
fetch-depth: 0
@@ -52,7 +53,7 @@ jobs:
5253
dvc pull --no-run-cache --verbose && ls -lhR pygmt/tests/baseline/
5354
5455
- name: Upload DVC cache as artifacts to GitHub
55-
uses: actions/upload-artifact@v6.0.0
56+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
5657
with:
5758
name: dvc-cache
5859
include-hidden-files: true

.github/workflows/check-links.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,26 @@ permissions:
2121
jobs:
2222
check_links:
2323
name: Check Links
24-
runs-on: ubuntu-latest
24+
runs-on: ubuntu-slim
2525
if: github.repository == 'GenericMappingTools/pygmt'
2626

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

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

4141
- name: Link Checker
4242
id: lychee
43-
uses: lycheeverse/lychee-action@a8c4c7cb88f0c7386610c35eb25108e448569cb0 # v2.7.0
43+
uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2.8.0
4444
with:
4545
fail: false # Don't fail action on broken links
4646
output: /tmp/lychee-out.md
@@ -70,7 +70,6 @@ jobs:
7070
--exclude "^https://www.researchgate.net/"
7171
--exclude "^https://zenodo.org/badge/DOI/"
7272
--exclude "^https://stackoverflow.com/a/69170441"
73-
--verbose
7473
"repository/*.md"
7574
"repository/**/*.py"
7675
"documentation/dev/**/*.html"

.github/workflows/ci_docs.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
steps:
7272
# Checkout current git repository
7373
- name: Checkout
74-
uses: actions/checkout@v6.0.1
74+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
7575
with:
7676
# fetch all history so that setuptools-scm works
7777
fetch-depth: 0
@@ -83,7 +83,7 @@ jobs:
8383

8484
# Install Micromamba with conda-forge dependencies
8585
- name: Setup Micromamba
86-
uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462 # v2.0.7
86+
uses: mamba-org/setup-micromamba@d7c9bd84e824b79d2af72a2d4196c7f4300d3476 # v3.0.0
8787
with:
8888
environment-name: pygmt
8989
cache-environment: true
@@ -92,7 +92,7 @@ jobs:
9292
create-args: >-
9393
python=3.14
9494
gmt=6.6.0
95-
ghostscript=10.06.0
95+
ghostscript=10.07.1
9696
numpy
9797
pandas
9898
xarray
@@ -115,7 +115,7 @@ jobs:
115115
sphinx_rtd_theme
116116
cairosvg
117117
sphinxcontrib-svg2pdfconverter
118-
tectonic
118+
tectonic=0.15
119119
120120
# Download cached remote files (artifacts) from GitHub
121121
- name: Download remote data from GitHub
@@ -149,7 +149,7 @@ jobs:
149149
cd ../..
150150
151151
- name: Upload PDF as artifact for previewing on pull requests
152-
uses: actions/upload-artifact@v6.0.0
152+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
153153
if: github.event_name == 'pull_request' && matrix.os == 'ubuntu-latest'
154154
with:
155155
name: artifact-pygmt-docs-pdf
@@ -167,7 +167,7 @@ jobs:
167167
REF_NAME: ${{ github.ref_name }}
168168

169169
- name: Checkout the gh-pages branch
170-
uses: actions/checkout@v6.0.1
170+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
171171
with:
172172
ref: gh-pages
173173
# Checkout to this folder instead of the current one

.github/workflows/ci_doctests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ jobs:
3737
steps:
3838
# Checkout current git repository
3939
- name: Checkout
40-
uses: actions/checkout@v6.0.1
40+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4141
with:
4242
# fetch all history so that setuptools-scm works
4343
fetch-depth: 0
4444
persist-credentials: false
4545

4646
# Install Micromamba with conda-forge dependencies
4747
- name: Setup Micromamba
48-
uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462 # v2.0.7
48+
uses: mamba-org/setup-micromamba@d7c9bd84e824b79d2af72a2d4196c7f4300d3476 # v3.0.0
4949
with:
5050
environment-name: pygmt
5151
create-args: >-

.github/workflows/ci_tests.yaml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ jobs:
5151
test:
5252
name: ${{ matrix.os }} - Python ${{ matrix.python-version }}
5353
runs-on: ${{ matrix.os }}
54+
environment:
55+
name: pr-tests
56+
deployment: false
5457
permissions:
5558
id-token: write # This is required for requesting OIDC token for codecov
5659
strategy:
@@ -72,9 +75,9 @@ jobs:
7275
include:
7376
# Python 3.12 + core packages (minimum supported versions) + optional packages (minimum supported versions if any)
7477
- python-version: '3.12'
75-
numpy-version: '2.0'
76-
pandas-version: '=2.2'
77-
xarray-version: '=2024.5'
78+
numpy-version: '2.1'
79+
pandas-version: '=2.3'
80+
xarray-version: '=2024.7'
7881
optional-packages: ' contextily geopandas ipython pyarrow-core rioxarray netCDF4 sphinx-gallery'
7982
# Python 3.14 + core packages (latest versions) + optional packages
8083
- python-version: '3.14'
@@ -104,7 +107,7 @@ jobs:
104107
steps:
105108
# Checkout current git repository
106109
- name: Checkout
107-
uses: actions/checkout@v6.0.1
110+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
108111
with:
109112
# fetch all history so that setuptools-scm works
110113
fetch-depth: 0
@@ -116,7 +119,7 @@ jobs:
116119

117120
# Install Micromamba with conda-forge dependencies
118121
- name: Setup Micromamba
119-
uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462 # v2.0.7
122+
uses: mamba-org/setup-micromamba@d7c9bd84e824b79d2af72a2d4196c7f4300d3476 # v3.0.0
120123
with:
121124
environment-name: pygmt
122125
cache-environment: true
@@ -125,7 +128,7 @@ jobs:
125128
create-args: >-
126129
python=${{ matrix.python-version }}${{ matrix.optional-packages }}
127130
gmt=6.6.0
128-
ghostscript=10.06.0
131+
ghostscript=10.07.1
129132
numpy=${{ matrix.numpy-version }}
130133
pandas${{ matrix.pandas-version }}
131134
xarray${{ matrix.xarray-version }}
@@ -151,7 +154,7 @@ jobs:
151154
GH_TOKEN: ${{ github.token }}
152155

153156
- name: Install uv
154-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
157+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
155158
with:
156159
activate-environment: true
157160
python-version: ${{ matrix.python-version }}
@@ -190,15 +193,15 @@ jobs:
190193

191194
# Upload diff images on test failure
192195
- name: Upload diff images if any test fails
193-
uses: actions/upload-artifact@v6.0.0
196+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
194197
if: failure()
195198
with:
196199
name: artifact-${{ matrix.os }}-${{ matrix.python-version }}
197200
path: tmp-test-dir-with-unique-name
198201

199202
# Upload coverage to Codecov
200203
- name: Upload coverage to Codecov
201-
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
204+
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
202205
if: success() || failure()
203206
with:
204207
use_oidc: true

0 commit comments

Comments
 (0)