[linear_algebra] Some updates on code and style and typos #2485
Workflow file for this run
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: | |
| types: [opened, synchronize, reopened] | |
| workflow_dispatch: | |
| inputs: | |
| preview_page: | |
| description: 'Specific page to preview (e.g., aiyagari.html)' | |
| required: false | |
| type: string | |
| jobs: | |
| preview: | |
| runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=quantecon_ubuntu2404/volume=80gb/spot=false" | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| fetch-depth: 0 | |
| - 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: Check nvidia Drivers | |
| shell: bash -l {0} | |
| run: nvidia-smi | |
| - name: Install JAX and Numpyro | |
| shell: bash -l {0} | |
| run: | | |
| pip install -U "jax[cuda13]" | |
| pip install numpyro | |
| python scripts/test-jax-install.py | |
| - 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@v23 | |
| with: | |
| workflow: cache.yml | |
| branch: main | |
| name: build-cache | |
| path: _build | |
| - name: Clear stale Sphinx environment | |
| shell: bash -l {0} | |
| run: rm -rf _build/.doctrees | |
| # Build Assets (Download Notebooks and PDF via LaTeX) | |
| - name: Build Download Notebooks (sphinx-tojupyter) | |
| shell: bash -l {0} | |
| run: | | |
| # This is the FIRST `jb build` in the workflow, and `execute_notebooks: "cache"` | |
| # means only the first build actually executes notebooks — the later HTML build | |
| # reads the cache. So this is the step where a CellExecutionError surfaces, and | |
| # therefore the step that has to gate. | |
| # | |
| # `set -eo pipefail` is required as well as `-W`: `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 it 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 -n -W --keep-going --path-output ./ --builder=custom --custom-builder=jupyter | |
| mkdir -p _build/html/_notebooks | |
| cp -u _build/jupyter/*.ipynb _build/html/_notebooks | |
| - name: Upload Execution Reports (Download Notebooks) | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: execution-reports-notebooks | |
| path: _build/jupyter/reports | |
| - name: Build PDF from LaTeX | |
| shell: bash -l {0} | |
| run: | | |
| jb build lectures --builder pdflatex --path-output ./ -W --keep-going | |
| mkdir -p _build/html/_pdf | |
| cp -u _build/latex/*.pdf _build/html/_pdf | |
| - name: Upload Execution Reports (LaTeX) | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: execution-reports-latex | |
| path: _build/latex/reports | |
| # 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 (HTML) | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: execution-reports-html | |
| path: _build/html/reports | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: '20' | |
| - name: Preview Deploy to Netlify | |
| uses: quantecon/actions/preview-netlify@v0 | |
| with: | |
| netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
| netlify-site-id: ${{ secrets.NETLIFY_SITE_ID }} | |
| build-dir: _build/html |