on: push: pull_request: workflow_run: name: Build and deploy jobs: build: runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v4 # Could also install texlive-full, # but that takes ~20 minutes. - name: Install TeXLive run: | sudo apt update DEBIAN_FRONTEND=noninteractive \ sudo apt install --yes \ texlive texlive-xetex - name: Download Typst run: | wget "https://github.com/typst/typst/releases/download/v0.12.0/typst-x86_64-unknown-linux-musl.tar.xz" tar -xf "typst-x86_64-unknown-linux-musl.tar.xz" mv "typst-x86_64-unknown-linux-musl/typst" . rm "typst-x86_64-unknown-linux-musl.tar.xz" rm -dr "typst-x86_64-unknown-linux-musl" - name: Build handouts run: TYPST_PATH="$(pwd)/typst" python tools/build/main.py - name: Advanced logs uses: actions/upload-artifact@v3 if: always() with: name: "logs: advanced" path: "Advanced/*" retention-days: 1 - name: Intermediate logs uses: actions/upload-artifact@v3 if: always() with: name: "logs: intermediate" path: "Intermediate/*" retention-days: 1 - name: Warm-Up logs uses: actions/upload-artifact@v3 if: always() with: name: "logs: warm-ups" path: "Warm-Ups/*" retention-days: 1 - name: Upload output uses: actions/upload-artifact@v3 with: name: output path: "output/*" retention-days: 10