Skip to content

Add option for creating a PDF version #70

Add option for creating a PDF version

Add option for creating a PDF version #70

Workflow file for this run

name: Build Tutorials
on:
push:
branches: [ master ]
tags: ["*"]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
find-tag:
runs-on: ubuntu-latest
outputs:
latest-tag: ${{ steps.find-tag.outputs.tag }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- id: find-tag
run: echo "tag=$(git describe --tags `git rev-list --tags=tutorials-* --max-count=1`)" >> "$GITHUB_OUTPUT"
link-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: prefix-dev/[email protected]
with:
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'master' }}
- run: pixi run sphinx-build -M linkcheck . _build -W --keep-going -a -q
link-check-last-tagged:
runs-on: ubuntu-latest
needs: find-tag
steps:
- uses: actions/checkout@v4
with:
ref: ${{ needs.find-tag.outputs.latest-tag }}
- uses: prefix-dev/[email protected]
with:
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'master' }}
- run: pixi run sphinx-build -M linkcheck . _build -W --keep-going -a -q
continue-on-error: true
build-latest:
runs-on: ubuntu-latest
needs: [find-tag, link-check]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: prefix-dev/[email protected]
with:
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'master' }}
- name: Build Documentation
run: pixi run sphinx-build -M html . _build -W --keep-going -a -t draft
- uses: actions/upload-artifact@v3
with:
name: beta-version
path: _build/html
build-tagged:
runs-on: ubuntu-latest
needs: [find-tag, link-check]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ needs.find-tag.outputs.latest-tag }}
fetch-depth: 0
- uses: prefix-dev/[email protected]
with:
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'master' }}
- name: Build Documentation
run: pixi run sphinx-build -M html . _build -W --keep-going -a
- uses: actions/upload-artifact@v3
with:
name: tagged-version
path: _build/html
prepare-pages:
needs: [build-latest, build-tagged]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: tagged-version
path: public
- uses: actions/download-artifact@v3
with:
name: beta-version
path: public/beta
- uses: actions/upload-pages-artifact@v2
with:
path: public
deploy:
needs: prepare-pages
# only run if master branch or if tag containing "tutorials-*" is pushed
if: github.ref == 'refs/heads/master' || contains(github.ref, 'tags/tutorials-')
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2