Skip to content

Commit fe0caf2

Browse files
committed
Merge branch 'main' into uv/resolution-lowest
2 parents 3cb017c + fd92fb7 commit fe0caf2

Some content is hidden

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

43 files changed

+871
-285
lines changed

.github/ISSUE_TEMPLATE/4-release_checklist.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ assignees: ''
1111
**Scheduled Date**: 20YY/MM/DD
1212
**Pull request due date**: 20YY/MM/DD
1313
**DOI**: `10.5281/zenodo.XXXXXXX`
14+
**Announcement draft**: https://hackmd.io/@pygmt/xxxxxxxx
1415

1516
**Priority PRs/issues to complete prior to release**
1617

@@ -39,11 +40,15 @@ assignees: ''
3940
- [ ] Edit the draft release notes with the finalized changelog
4041
- [ ] Set the tag version and release title to vX.Y.Z
4142
- [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too
43+
- [ ] Verify that [all workflows triggered by the release](https://github.com/GenericMappingTools/pygmt/actions?query=event%3Arelease) pass
44+
- [ ] The latest version is correct on [PyPI](https://pypi.org/project/pygmt/)
45+
- [ ] The latest version is correct on https://www.pygmt.org/latest/
46+
- [ ] The [release page](https://github.com/GenericMappingTools/pygmt/releases) has five assets, including `baseline-images.zip`, `pygmt-docs.zip` and `pygmt-docs.pdf`
4247
- [ ] Download pygmt-X.Y.Z.zip (rename to pygmt-vX.Y.Z.zip) and baseline-images.zip from the release page, and upload the two zip files to https://zenodo.org/deposit, ensure that they are filed under the correct reserved DOI
4348

4449
**After release**:
4550

46-
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) [Done automatically by conda-forge's bot. Remember to pin GMT, Python and SPEC0 versions]
51+
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) (Done automatically by conda-forge's bot. If you don't want to wait, open a new issue in the `conda-forge/pygmt-feedstock` repository with the title `@conda-forge-admin, please update version`. This will trigger the bot immediately. Remember to pin GMT, Python and SPEC0 versions)
4752
- [ ] Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update)
4853
- [ ] Announce the release on:
4954
- [ ] GMT [forum](https://forum.generic-mapping-tools.org/c/news/) (do this announcement first! Requires moderator status)

.github/workflows/cache_data.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575

7676
# Upload the downloaded files as artifacts to GitHub
7777
- name: Upload artifacts to GitHub
78-
uses: actions/upload-artifact@v4.6.1
78+
uses: actions/upload-artifact@v4.6.2
7979
with:
8080
name: gmt-cache
8181
include-hidden-files: true

.github/workflows/check-links.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ on:
1515
schedule:
1616
- cron: '0 12 * * 0'
1717

18-
permissions: {}
18+
permissions:
19+
issues: write
1920

2021
jobs:
2122
check_links:
@@ -49,11 +50,14 @@ jobs:
4950
--exclude "^https://docs.generic-mapping-tools.org/6.[0-9]?/%s$"
5051
--exclude "^https://docs.generic-mapping-tools.org/6.[0-9]?/%3Cmodule-name%3E.html$"
5152
--exclude "^https://doi.org"
53+
--exclude "^https://github.com/%7Brepository%7D"
5254
--exclude "^https://github.com/GenericMappingTools/gmt/releases/tag/X.Y.Z$"
5355
--exclude "^https://github.com/GenericMappingTools/pygmt/edit"
5456
--exclude "^https://github.com/GenericMappingTools/pygmt/issues/new"
5557
--exclude "^https://github.com/GenericMappingTools/pygmt/pull/[0-9]*$"
5658
--exclude "^https://github.com/GenericMappingTools/pygmt/issues/[0-9]*$"
59+
--exclude "^https://github.com/GenericMappingTools/pygmt/releases/download/%7B%7Bpath%7D%7D/pygmt-docs.pdf"
60+
--exclude "^https://github.com/GenericMappingTools/pygmt/releases/download/%7B%7Bpath%7D%7D/pygmt-docs.zip"
5761
--exclude "^https://github.com/GenericMappingTools/pygmt/releases/tag/%7B%7Bpath%7D%7D"
5862
--exclude "^https://hackmd.io/@pygmt"
5963
--exclude "^https://test.pypi.org/simple/"
@@ -63,8 +67,7 @@ jobs:
6367
--exclude "^https://www.researchgate.net/"
6468
--exclude "^https://zenodo.org/badge/DOI/"
6569
--verbose
66-
"repository/**/*.rst"
67-
"repository/**/*.md"
70+
"repository/*.md"
6871
"repository/**/*.py"
6972
"documentation/dev/**/*.html"
7073
@@ -73,7 +76,7 @@ jobs:
7376
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
7477

7578
- name: Create Issue From File
76-
if: env.lychee_exit_code != 0
79+
if: ${{ steps.lychee.outputs.exit_code }} != 0
7780
run: |
7881
cd repository/
7982
title="Link Checker Report on ${CURRENT_DATE}"

.github/workflows/ci_docs.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22
#
33
# This workflow builds the documentation on Linux/macOS/Windows.
44
#
5-
# It is run on every commit to the main and pull request branches, and also
6-
# when a new release is published.
7-
# In draft pull requests, only the job on Linux is triggered to save on
8-
# Continuous Integration resources.
5+
# It is run on every commit to the main and pull request branches, and also when a new
6+
# release is published. In draft pull requests, only the job on Linux is triggered to
7+
# save on Continuous Integration resources.
98
#
109
# On the main branch, the workflow also handles the documentation deployment:
1110
#
12-
# * Updating the development documentation by pushing the built HTML pages
13-
# from the main branch onto the dev folder of the gh-pages branch.
11+
# * Updating the development documentation by pushing the built HTML pages from the main
12+
# branch onto the dev folder of the gh-pages branch.
1413
# * Updating the latest documentation link to the new release.
1514
#
1615
name: Docs
@@ -43,7 +42,8 @@ concurrency:
4342
group: ${{ github.workflow }}-${{ github.ref }}
4443
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
4544

46-
permissions: {}
45+
permissions:
46+
contents: write
4747

4848
jobs:
4949
docs:
@@ -114,7 +114,7 @@ jobs:
114114
sphinx-copybutton
115115
sphinx-design
116116
sphinx-gallery
117-
sphinx_rtd_theme<3.0
117+
sphinx_rtd_theme
118118
cairosvg
119119
sphinxcontrib-svg2pdfconverter
120120
tectonic
@@ -151,7 +151,7 @@ jobs:
151151
cd ../..
152152
153153
- name: Upload PDF as artifact for previewing on pull requests
154-
uses: actions/upload-artifact@v4.6.1
154+
uses: actions/upload-artifact@v4.6.2
155155
if: github.event_name == 'pull_request' && matrix.os == 'ubuntu-latest'
156156
with:
157157
name: artifact-pygmt-docs-pdf
@@ -176,7 +176,7 @@ jobs:
176176
path: deploy
177177
# Download the entire history
178178
fetch-depth: 0
179-
persist-credentials: false
179+
persist-credentials: true
180180
if: (github.event_name == 'release' || github.event_name == 'push') && (matrix.os == 'ubuntu-latest')
181181

182182
- name: Push the built HTML to gh-pages

.github/workflows/ci_tests.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ concurrency:
4949

5050
jobs:
5151
test:
52-
name: ${{ matrix.os }} - Python ${{ matrix.python-version }} / NumPy ${{ matrix.numpy-version }}
52+
name: ${{ matrix.os }} - Python ${{ matrix.python-version }}
5353
runs-on: ${{ matrix.os }}
5454
permissions:
5555
id-token: write # This is required for requesting OIDC token for codecov
@@ -73,7 +73,7 @@ jobs:
7373
# Python 3.11 + core packages (minimum supported versions) + optional packages (minimum supported versions if any)
7474
- python-version: '3.11'
7575
numpy-version: '1.25'
76-
pandas-version: '=2.0'
76+
pandas-version: '=2.1'
7777
xarray-version: '=2023.04'
7878
optional-packages: ' contextily geopandas<1 ipython pyarrow-core rioxarray sphinx-gallery'
7979
# Python 3.13 + core packages (latest versions) + optional packages
@@ -152,7 +152,7 @@ jobs:
152152
GH_TOKEN: ${{ github.token }}
153153

154154
- name: Install uv
155-
uses: astral-sh/setup-uv@v5.3.1
155+
uses: astral-sh/setup-uv@v5.4.1
156156
with:
157157
python-version: ${{ matrix.python-version }}
158158

@@ -175,7 +175,7 @@ jobs:
175175

176176
# Upload diff images on test failure
177177
- name: Upload diff images if any test fails
178-
uses: actions/upload-artifact@v4.6.1
178+
uses: actions/upload-artifact@v4.6.2
179179
if: failure()
180180
with:
181181
name: artifact-${{ matrix.os }}-${{ matrix.python-version }}

.github/workflows/ci_tests_dev.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ jobs:
186186

187187
# Upload diff images on test failure
188188
- name: Upload diff images if any test fails
189-
uses: actions/upload-artifact@v4.6.1
189+
uses: actions/upload-artifact@v4.6.2
190190
if: ${{ failure() }}
191191
with:
192192
name: artifact-${{ matrix.os }}-GMT-${{ matrix.gmt_git_ref }}

.github/workflows/format-command.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ on:
88
repository_dispatch:
99
types: [format-command]
1010

11-
permissions: {}
11+
permissions:
12+
contents: write
1213

1314
jobs:
1415
format:
1516
runs-on: ubuntu-latest
1617
steps:
1718
# Generate token from GenericMappingTools bot
18-
- uses: actions/create-github-app-token@v1.11.6
19+
- uses: actions/create-github-app-token@v1.12.0
1920
id: generate-token
2021
with:
2122
app-id: ${{ secrets.APP_ID }}
@@ -30,7 +31,7 @@ jobs:
3031
persist-credentials: false
3132

3233
# Setup Python environment
33-
- uses: actions/setup-python@v5.4.0
34+
- uses: actions/setup-python@v5.5.0
3435
with:
3536
python-version: '3.13'
3637

.github/workflows/publish-to-pypi.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
persist-credentials: false
5151

5252
- name: Set up Python
53-
uses: actions/setup-python@v5.4.0
53+
uses: actions/setup-python@v5.5.0
5454
with:
5555
python-version: '3.13'
5656

@@ -74,7 +74,7 @@ jobs:
7474
ls -lh dist/
7575
7676
- name: Store the distribution packages
77-
uses: actions/upload-artifact@v4.6.1
77+
uses: actions/upload-artifact@v4.6.2
7878
with:
7979
name: python-package-distributions
8080
path: dist/
@@ -93,7 +93,7 @@ jobs:
9393

9494
steps:
9595
- name: Download all the dists
96-
uses: actions/download-artifact@v4.2.0
96+
uses: actions/download-artifact@v4.2.1
9797
with:
9898
name: python-package-distributions
9999
path: dist/
@@ -117,7 +117,7 @@ jobs:
117117

118118
steps:
119119
- name: Download all the dists
120-
uses: actions/download-artifact@v4.2.0
120+
uses: actions/download-artifact@v4.2.1
121121
with:
122122
name: python-package-distributions
123123
path: dist/

.github/workflows/release-drafter.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# Draft the next release notes
22
#
3-
# This workflow is run to update the next release notes as pull requests are
4-
# merged into the main branch. The configuration file is located at
5-
# `.github/release-drafter.yml`.
3+
# This workflow is run to update the next release notes as pull requests are merged into
4+
# the main branch. The configuration file is located at `.github/release-drafter.yml`.
65
#
76
name: Release Drafter
87

@@ -11,10 +10,14 @@ on:
1110
branches:
1211
- main
1312

14-
permissions: {}
13+
permissions:
14+
contents: read
1515

1616
jobs:
1717
update_release_draft:
18+
permissions:
19+
# write permission is required to create a github release
20+
contents: write
1821
runs-on: ubuntu-latest
1922
if: github.repository == 'GenericMappingTools/pygmt'
2023

.github/workflows/slash-command-dispatch.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ on:
1010
# Add "edited" type for test purposes. Where possible, avoid using to prevent processing unnecessary events.
1111
# types: [created, edited]
1212

13-
permissions: {}
13+
permissions:
14+
issues: write
1415

1516
jobs:
1617
slashCommandDispatch:

.github/workflows/style_checks.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232

3333
# Setup Python
3434
- name: Set up Python
35-
uses: actions/setup-python@v5.4.0
35+
uses: actions/setup-python@v5.5.0
3636
with:
3737
python-version: '3.13'
3838

.github/workflows/type_checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141

4242
# Setup Python
4343
- name: Set up Python
44-
uses: actions/setup-python@v5.4.0
44+
uses: actions/setup-python@v5.5.0
4545
with:
4646
python-version: '3.13'
4747

.mailmap

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Dongdong Tian <seisman.info@gmail.com>
2+
Dongdong Tian <seisman.info@gmail.com> <seisman@users.noreply.github.com>
3+
Jiayuan Yao <coreman.seism@gmail.com>
4+
Jiayuan Yao <coreman.seism@gmail.com> <core-man@users.noreply.github.com>
5+
Jing-Hui Tong <86273921+JingHuiTong@users.noreply.github.com>
6+
Jing-Hui Tong <86273921+JingHuiTong@users.noreply.github.com> <r0922422020@g.ntu.edu.tw>
7+
Max Jones <14077947+maxrjones@users.noreply.github.com>
8+
Max Jones <14077947+maxrjones@users.noreply.github.com> <meghanj@alum.mit.edu>
9+
Max Jones <14077947+maxrjones@users.noreply.github.com> <meghanj@hawaii.edu>
10+
Max Jones <14077947+maxrjones@users.noreply.github.com> <meghanrjones@users.noreply.github.com>
11+
Michael Grund <michael_grund@gmx.de> <23025878+michaelgrund@users.noreply.github.com>
12+
Michael Grund <michael_grund@gmx.de> <michael.grund@kit.edu>
13+
Michael Grund <michael_grund@gmx.de> <michaelgrund@users.noreply.github.com>
14+
Wei Ji Leong <23487320+weiji14@users.noreply.github.com>
15+
Wei Ji Leong <23487320+weiji14@users.noreply.github.com> <weiji.leong@vuw.ac.nz>
16+
Wei Ji Leong <23487320+weiji14@users.noreply.github.com> <weiji14@users.noreply.github.com>
17+
Will Schlitzer <schlitzer90@gmail.com> <willschlitzer@users.noreply.github.com>
18+
Yvonne Fröhlich <94163266+yvonnefroehlich@users.noreply.github.com> <yvonne.froehlich@kit.edu>
19+
Yvonne Fröhlich <94163266+yvonnefroehlich@users.noreply.github.com> <yfroe@gpiseis16.gpi.kit.edu>

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ repos:
1616
- id: chmod
1717
args: ['644']
1818
- repo: https://github.com/woodruffw/zizmor-pre-commit
19-
rev: v1.5.1
19+
rev: v1.5.2
2020
hooks:
2121
- id: zizmor
2222

0 commit comments

Comments
 (0)