|
1 | 1 | # Test PyGMT on Linux/macOS/Windows |
2 | 2 | # |
3 | | -# This workflow runs regular PyGMT tests and uploads test coverage reports stored |
4 | | -# in `.coverage.xml` to https://app.codecov.io/gh/GenericMappingTools/pygmt |
5 | | -# via the [Codecov GitHub Action](https://github.com/codecov/codecov-action). |
6 | | -# More codecov related configurations are stored in `.github/codecov.yml`. |
7 | | -# If any tests fail, it also uploads the diff images as workflow artifacts. |
| 3 | +# This workflow runs regular PyGMT tests and uploads test coverage reports stored in |
| 4 | +# `.coverage.xml` to https://app.codecov.io/gh/GenericMappingTools/pygmt via the |
| 5 | +# [Codecov GitHub Action](https://github.com/codecov/codecov-action). More codecov |
| 6 | +# related configurations are stored in `.github/codecov.yml`. If any tests fail, it also |
| 7 | +# uploads the diff images as workflow artifacts. |
8 | 8 | # |
9 | 9 | # It is run: |
10 | 10 | # 1. on every commit to the main branch |
11 | | -# 2. on every commit to the pull request branches, unless the pull requests only |
12 | | -# contain non-code changes. |
| 11 | +# 2. on every commit to the pull request branches, unless the pull requests only contain |
| 12 | +# non-code changes. |
13 | 13 | # 3. when a new release is published |
14 | 14 | # |
15 | 15 | # It is also scheduled to run daily on the main branch. |
16 | 16 | # |
17 | | -# In draft pull request, only two jobs on Linux are triggered to save on |
18 | | -# Continuous Integration resources: |
| 17 | +# In draft pull request, only jobs on Linux are triggered to save on Continuous |
| 18 | +# Integration resources: |
19 | 19 | # |
20 | | -# - Minimum supported Python, NumPy, pandas, Xarray versions following [SPEC 0](https://scientific-python.org/specs/spec-0000/) |
21 | | -# - Latest Python, NumPy versions + optional packages (e.g. GeoPandas) |
| 20 | +# - Minimum supported Python + core packages (minimum supported versions) |
| 21 | +# + optional packages (minimum supported versions if any) |
| 22 | +# - Latest Python + core packages (latest versions) + optional packages |
| 23 | +# - Last release before the latest Python + core packages |
22 | 24 | # |
23 | 25 | name: Tests |
24 | 26 |
|
@@ -59,35 +61,32 @@ jobs: |
59 | 61 | # Is it a draft Pull Request (true or false)? |
60 | 62 | isDraft: |
61 | 63 | - ${{ github.event.pull_request.draft }} |
62 | | - # Only run two jobs (Ubuntu + Python 3.10/3.12) for draft PRs |
| 64 | + # Only run three jobs on Ubuntu for draft PRs |
63 | 65 | exclude: |
64 | 66 | - os: macos-latest |
65 | 67 | isDraft: true |
66 | 68 | - os: windows-latest |
67 | 69 | isDraft: true |
68 | | - # Pair Python 3.10 with the minimum supported versions of NumPy, pandas, Xarray |
69 | | - # and Python 3.12 with the latest versions of NumPy, pandas, Xarray |
70 | | - # Only install optional packages on Python 3.12 |
71 | 70 | include: |
| 71 | + # Python 3.10 + core packages (minimum supported versions) + optional packages (minimum supported versions if any) |
72 | 72 | - python-version: '3.10' |
73 | 73 | numpy-version: '1.24' |
74 | 74 | pandas-version: '=2.0' |
75 | 75 | xarray-version: '=2023.04' |
76 | | - optional-packages: '' |
| 76 | + optional-packages: ' contextily geopandas<1 ipython pyarrow rioxarray sphinx-gallery' |
| 77 | + # Python 3.12 + core packages (latest versions) + optional packages |
77 | 78 | - python-version: '3.12' |
78 | 79 | numpy-version: '2.1' |
79 | 80 | pandas-version: '' |
80 | 81 | xarray-version: '' |
81 | | - optional-packages: ' contextily geopandas ipython pyarrow rioxarray sphinx-gallery' |
82 | | - # The job below is for testing GeoPandas v0.x on Ubuntu. |
83 | | - # The python-version here can't be the versions in the matrix.python-version |
84 | | - # defined above. Otherwise, other jobs will be overridden by this one. |
| 82 | + optional-packages: ' contextily geopandas>=1.0 ipython pyarrow rioxarray sphinx-gallery' |
| 83 | + # Python 3.11 + core packages (Linux only) |
85 | 84 | - os: 'ubuntu-latest' |
86 | | - python-version: '3.11' # Can't be 3.10 or 3.12. |
87 | | - numpy-version: '1.24' |
88 | | - pandas-version: '=2.1' |
| 85 | + python-version: '3.11' |
| 86 | + numpy-version: '' |
| 87 | + pandas-version: '' |
89 | 88 | xarray-version: '' |
90 | | - optional-packages: ' geopandas<1 pyarrow' |
| 89 | + optional-packages: '' |
91 | 90 |
|
92 | 91 | timeout-minutes: 30 |
93 | 92 | defaults: |
|
0 commit comments