Skip to content

Update gallery.yaml (#1415) #873

Update gallery.yaml (#1415)

Update gallery.yaml (#1415) #873

Workflow file for this run

#
# 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