11# Test PyGMT with GMT dev version on Linux/macOS/Windows
22#
3- # This workflow runs regular PyGMT tests with the GMT dev version, and also
4- # pre-release versions of several dependencies like NumPy, Pandas, Xarray, etc.
5- # If any tests fail, it also uploads the diff images as workflow artifacts.
6- # The GMT dev version is installed by fetching the latest source codes from
7- # the GMT master branch and compiling.
3+ # This workflow runs regular PyGMT tests with the GMT dev version, and also pre-release
4+ # versions of several dependencies like NumPy, Pandas, Xarray, etc. If any tests fail,
5+ # it also uploads the diff images as workflow artifacts. The GMT dev version is
6+ # installed by fetching the latest source codes from the GMT master branch and
7+ # compiling.
88#
9- # It is triggered when a pull request is marked as "ready as review", or using
10- # the slash command ` /test-gmt-dev` . It is also scheduled to run on Monday,
11- # Wednesday, and Friday on the main branch.
9+ # It is triggered when a pull request is marked as "ready as review", or labeled with
10+ # 'run /test-gmt-dev' . It is also scheduled to run on Monday, Wednesday, and Friday on
11+ # the main branch.
1212#
1313name : GMT Dev Tests
1414
1515on :
1616 # push:
1717 # branches: [ main ]
1818 pull_request :
19- types : [ready_for_review]
20- paths-ignore :
21- - ' doc/**'
22- - ' examples/**'
23- - ' *.md'
24- - ' README.rst'
25- - ' LICENSE.txt'
26- - ' .gitignore'
27- repository_dispatch :
28- types : [test-gmt-dev-command]
19+ types : [ opened, reopened, labeled, synchronize ]
20+ paths :
21+ - ' pygmt/**'
22+ - ' .github/workflows/ci_tests_dev.yaml'
2923 # Schedule tests on Monday/Wednesday/Friday
3024 schedule :
3125 - cron : ' 0 0 * * 1,3,5'
3832 test_gmt_dev :
3933 name : ${{ matrix.os }} - GMT ${{ matrix.gmt_git_ref }}
4034 runs-on : ${{ matrix.os }}
35+ if : github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run/test-gmt-dev')
4136 strategy :
4237 fail-fast : false
4338 matrix :
@@ -52,40 +47,10 @@ jobs:
5247 # Checkout current git repository
5348 - name : Checkout
544955- if : github.event_name != 'repository_dispatch'
5650 with :
5751 # fetch all history so that setuptools-scm works
5852 fetch-depth : 0
5953
60- # Generate token from GenericMappingTools bot
61- - name : Generate token from GenericMappingTools bot
62- uses : tibdex/github-app-token@v2
63- if : github.event_name == 'repository_dispatch'
64- id : generate-token
65- with :
66- app_id : ${{ secrets.APP_ID }}
67- private_key : ${{ secrets.APP_PRIVATE_KEY }}
68-
69- # Checkout the pull request branch
70- - name : Checkout
71- 72- if : github.event_name == 'repository_dispatch'
73- with :
74- token : ${{ steps.generate-token.outputs.token }}
75- repository : ${{ github.event.client_payload.pull_request.head.repo.full_name }}
76- ref : ${{ github.event.client_payload.pull_request.head.ref }}
77- # fetch all history so that setuptools-scm works
78- fetch-depth : 0
79-
80- - name : Show job URL
81- uses :
peter-evans/[email protected] 82- if : github.event_name == 'repository_dispatch' && (matrix.os == 'ubuntu-latest')
83- with :
84- token : ${{ steps.generate-token.outputs.token }}
85- repository : ${{ github.event.client_payload.github.payload.repository.full_name }}
86- comment-id : ${{ github.event.client_payload.github.payload.comment.id }}
87- body : https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
88-
8954 # Install Micromamba with conda-forge dependencies
9055 - name : Setup Micromamba
915610469 ninja
10570 curl
10671 fftw
107- ghostscript=9.54.0
72+ ghostscript=10.02.1
10873 glib
10974 hdf5
11075 libblas
0 commit comments