diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index d5e21df..46261ea 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -10,41 +10,39 @@ jobs: steps: - name: Checkout uses: actions/checkout@v5 - - name: Setup Anaconda - uses: conda-incubator/setup-miniconda@v3 + + # Use composite action for environment setup + - name: Setup Lecture Environment + uses: quantecon/actions/setup-lecture-env@main with: - auto-update-conda: true - auto-activate-base: true - miniconda-version: 'latest' - python-version: "3.13" - environment-file: environment.yml - activate-environment: quantecon + python-version: '3.13' + environment-file: 'environment.yml' + environment-name: 'quantecon' + - name: graphviz Support # TODO: required? run: | sudo apt-get -qq update && sudo apt-get install -y graphviz - - name: Install latex dependencies - run: | - sudo apt-get -qq update - sudo apt-get install -y \ - texlive-latex-recommended \ - texlive-latex-extra \ - texlive-fonts-recommended \ - texlive-fonts-extra \ - texlive-xetex \ - latexmk \ - xindy \ - dvipng \ - cm-super + + # Use composite action for LaTeX setup + - name: Install LaTeX Dependencies + uses: quantecon/actions/setup-latex@main + + # Use composite action for building - name: Build HTML - shell: bash -l {0} - run: | - jb build lectures --path-output ./ -W --keep-going + id: build + uses: quantecon/actions/build-lectures@main + with: + builder: 'html' + source-dir: 'lectures' + extra-args: '-W --keep-going' + - name: Upload Execution Reports (HTML) uses: actions/upload-artifact@v5 if: failure() with: name: execution-reports path: _build/html/reports + - name: Upload "_build" folder (cache) uses: actions/upload-artifact@v5 with: diff --git a/.github/workflows/collab.yml b/.github/workflows/collab.yml.disabled similarity index 100% rename from .github/workflows/collab.yml rename to .github/workflows/collab.yml.disabled diff --git a/latex-requirements.txt b/latex-requirements.txt new file mode 100644 index 0000000..ff2ab68 --- /dev/null +++ b/latex-requirements.txt @@ -0,0 +1,21 @@ +# LaTeX packages required for Jupyter Book PDF builds +# Version pinning ensures reproducibility and explicit cache invalidation +# Last updated: 2025-11-07 +# TexLive: 2023 (Ubuntu 24.04 LTS Noble ships with 2023.20240207-1) +# Reference: https://packages.ubuntu.com/noble/texlive-base + +# Core LaTeX distribution (TexLive 2023) +texlive-latex-recommended=2023.20240207-1 +texlive-latex-extra=2023.20240207-1 +texlive-fonts-recommended=2023.20240207-1 +texlive-fonts-extra=2023.20240207-1 +texlive-xetex=2023.20240207-1 +texlive-luatex=2023.20240207-1 + +# Build tools +# Note: Versions will be determined on first run +latexmk +xindy +dvipng +ghostscript +cm-super