Build Cache [using jupyter-book] #206
This file contains hidden or 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
| name: Build Cache [using jupyter-book] | |
| on: | |
| schedule: | |
| # Execute cache weekly at 3am on Monday | |
| - cron: '0 3 * * 1' | |
| workflow_dispatch: | |
| jobs: | |
| cache: | |
| runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=quantecon_ubuntu2404/volume=80gb/spot=false" | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup Anaconda | |
| uses: conda-incubator/setup-miniconda@v4 | |
| with: | |
| auto-update-conda: true | |
| auto-activate-base: true | |
| miniconda-version: 'latest' | |
| python-version: "3.13" | |
| environment-file: environment.yml | |
| activate-environment: quantecon | |
| - name: Install JAX and Numpyro | |
| shell: bash -l {0} | |
| run: | | |
| # Pinned: jax 0.11.1 (2026-08-17) hangs numpy_vs_numba_vs_jax's | |
| # lax.fori_loop cells -- they jit with device=cpu, so the CPU-path | |
| # regression bites even on these GPU runners. Context is recorded in | |
| # QuantEcon/workspace-lectures#49. With jax already present, the | |
| # lecture's unpinned `!pip install quantecon jax` cell is satisfied | |
| # and does not upgrade. | |
| pip install "jax[cuda13]==0.11.0" | |
| pip install numpyro | |
| python scripts/test-jax-install.py | |
| - name: Check nvidia drivers | |
| shell: bash -l {0} | |
| run: | | |
| nvidia-smi | |
| - name: Build HTML | |
| shell: bash -l {0} | |
| run: | | |
| jb build lectures --path-output ./ -W --keep-going | |
| - name: Upload Execution Reports | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: execution-reports | |
| path: _build/html/reports | |
| - name: Upload "_build" folder (cache) | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: build-cache | |
| path: _build | |
| include-hidden-files: true |