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
# Simple workflow for deploying static content to GitHub Pages | |
name: Deploy static content to Pages | |
on: | |
# Runs on pushes targeting the default branch | |
push: | |
branches: ["main"] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
# Allow one concurrent deployment | |
concurrency: | |
group: "pages" | |
cancel-in-progress: true | |
jobs: | |
# Single deploy job since we're just deploying | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
steps: | |
# - name: Harden Runner | |
# uses: step-security/harden-runner@main | |
# with: | |
# egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs | |
- name: Checkout | |
uses: actions/checkout@main | |
- name: 🐍 Set up Python | |
uses: actions/setup-python@main | |
with: | |
python-version: "3.12" | |
cache: "pip" | |
cache-dependency-path: "pyproject.toml" | |
- name: Install system dependencies | |
run: | | |
sudo apt update && sudo apt install -y \ | |
pkg-config libcairo-dev libpango1.0-dev wget fonts-roboto | |
wget -qO- "https://yihui.org/tinytex/install-bin-unix.sh" | sh | |
echo ${HOME}/.TinyTeX/bin/x86_64-linux >> $GITHUB_PATH | |
- name: Install LaTeX and Python dependencies | |
run: | | |
tlmgr update --self | |
tlmgr install \ | |
babel-english ctex doublestroke dvisvgm frcursive fundus-calligra jknapltx \ | |
mathastext microtype physics preview ragged2e relsize rsfs setspace standalone \ | |
wasy wasysym | |
- name: 🔧 Build HTML | |
run: | | |
sudo apt-get install graphviz | |
sudo apt-get update && sudo apt-get upgrade | |
sudo apt install build-essential python3-dev libcairo2-dev libpango1.0-dev ffmpeg | |
pip install --upgrade pip | |
pip install taolib invoke | |
pip install -e .[linkify,rtd] --upgrade | |
conda install -c conda-forge pandoc compilers cppyy | |
conda install -c conda-forge ffmpeg manim | |
pip install manim | |
invoke doc | |
- name: Setup Pages | |
uses: actions/configure-pages@main | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@main | |
with: | |
# Upload entire repository | |
path: 'docs/_build/html/' | |
- name: 🚀 Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@main | |
# uses: peaceiris/[email protected] |