⬆️ Bump actions/checkout from 4 to 7 #84
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 Project [using jupyter-book] | |
| on: [pull_request] | |
| permissions: | |
| contents: read | |
| actions: read | |
| jobs: | |
| preview: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup Anaconda | |
| uses: conda-incubator/setup-miniconda@v3 | |
| 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 (CPU) | |
| shell: bash -l {0} | |
| run: | | |
| # Pinned: jax 0.11.1 (2026-08-17) hangs numpy_vs_numba_vs_jax's | |
| # lax.fori_loop cells on the CPU path -- 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==0.11.0" | |
| - name: Display Conda Environment Versions | |
| shell: bash -l {0} | |
| run: conda list | |
| - name: Display Pip Versions | |
| shell: bash -l {0} | |
| run: pip list | |
| - name: Download "build" folder (cache) | |
| uses: dawidd6/action-download-artifact@v6 | |
| with: | |
| workflow: cache.yml | |
| branch: main | |
| name: build-cache | |
| path: _build | |
| # Build Assets (Download Notebooks) | |
| - name: Build Download Notebooks (sphinx-tojupyter) | |
| shell: bash -l {0} | |
| run: | | |
| # `shell: bash -l {0}` is a custom shell spec, so GitHub does not inject | |
| # `-eo pipefail` (it only does that for the bare `shell: bash` shorthand). | |
| # Without this, a failing `jb build` would be masked by the trailing | |
| # mkdir/cp, whose exit code becomes the step's — and `--keep-going` | |
| # guarantees the .ipynb files exist for `cp` to succeed on. | |
| set -eo pipefail | |
| jb build lectures --path-output ./ --builder=custom --custom-builder=jupyter -n -W --keep-going | |
| mkdir -p _build/html/_notebooks | |
| cp -u _build/jupyter/*.ipynb _build/html/_notebooks | |
| # Final Build of HTML | |
| - name: Build HTML | |
| shell: bash -l {0} | |
| run: | | |
| jb build lectures --path-output ./ -n -W --keep-going | |
| - name: Upload Execution Reports | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: execution-reports | |
| path: _build/html/reports |