66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
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
|