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 }}
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
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
0 commit comments