Update gallery.yaml (#1415) #873
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Build and deploy the documentation | |
# | |
name: Deploy | |
on: | |
# pull_request: # enable pull_request for testing | |
push: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
env: | |
GMT_DOC_VERSION: 6.5 | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Micromamba | |
uses: mamba-org/[email protected] | |
with: | |
environment-file: environment.yml | |
cache-downloads: false | |
cache-environment: true | |
- name: Download and list cached files | |
run: | | |
gh run download --name gmt-cache --dir ~/.gmt/ | |
# Change modification times of the two files, so GMT won't refresh it | |
touch ~/.gmt/server/gmt_data_server.txt ~/.gmt/server/gmt_hash_server.txt | |
ls -lhR ~/.gmt | |
env: | |
GH_TOKEN: ${{ github.token }} | |
# Because building the PDF document is slow, the building and deployment | |
# process is designed as follows: | |
# | |
# 1. Build the HTML document and use the old PDF document and HTML zip if available | |
# 2. Deploy the HTML document | |
# 3. Build the HTML document again (html, not dirhtml) and make a zip | |
# 4. Build the PDF document | |
# 5. Deploy the PDF document and HTML zip | |
# | |
- name: Build HTML | |
run: make dirhtml | |
- name: Checkout the gh-pages branch | |
uses: actions/checkout@v4 | |
with: | |
ref: gh-pages | |
path: deploy | |
fetch-depth: 0 | |
- name: Prepare the documentation for deployment | |
run: | | |
cd deploy | |
# generate the .nojekyll file in the root directory | |
touch .nojekyll | |
# generate CNAME in the root directory | |
echo docs.gmt-china.org > CNAME | |
# Use the old PDF documentation because the new PDF documentation is not built | |
if [ -e ${GMT_DOC_VERSION}/GMT_docs.pdf ]; then | |
cp ${GMT_DOC_VERSION}/GMT_docs.pdf ../build/dirhtml/ | |
fi | |
# Use the old HTML zip because the new HTML zip is not built | |
if [ -e ${GMT_DOC_VERSION}/GMT_docs.zip ]; then | |
cp ${GMT_DOC_VERSION}/GMT_docs.zip ../build/dirhtml/ | |
fi | |
# Replace the old documentation with tht new one. | |
rm -rvf ${GMT_DOC_VERSION} | |
cp -rvf ../build/dirhtml/ ${GMT_DOC_VERSION}/ | |
# let "latest" link to the latest version | |
rm -rfv latest | |
ln -sfv ${GMT_DOC_VERSION} latest | |
cd .. | |
- name: Deploy the HTML documentation to gh-pages | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
force_orphan: true | |
publish_dir: deploy | |
- name: Build the HMTL zip | |
run: | | |
make htmlzip | |
mv build/GMT_docs.zip deploy/${GMT_DOC_VERSION}/ | |
- name: Setup tectonic | |
uses: wtfjoke/setup-tectonic@v3 | |
- name: Build the PDF | |
run: | | |
make pdf optimize_pdf | |
cp build/GMT_docs.pdf deploy/${GMT_DOC_VERSION}/ | |
- name: Deploy the PDF documentation to gh-pages | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
force_orphan: true | |
publish_dir: deploy |