Repository navigation
⬆️ Bump quantecon/actions from 0.11.1 to 0.12.0 #722
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 Preview [using jupyter-book] | |
| on: [pull_request] | |
| 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: Install jax (and install checks for GPU) | |
| shell: bash -l {0} | |
| run: | | |
| pip install -U "jax[cuda13]" | |
| python --version | |
| python scripts/test-jax-install.py | |
| nvidia-smi | |
| - name: Install ImageMagick | |
| run: sudo apt-get update && sudo apt-get install -y imagemagick | |
| - 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@v24 | |
| with: | |
| workflow: cache.yml | |
| branch: main | |
| name: build-cache | |
| path: _build | |
| # 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 --path-output ./ --builder=custom --custom-builder=jupyter -n -W --keep-going | |
| mkdir -p _build/html/_notebooks | |
| cp -u _build/jupyter/*.ipynb _build/html/_notebooks | |
| - name: Build PDF from LaTeX | |
| shell: bash -l {0} | |
| run: | | |
| jb build lectures --builder pdflatex --path-output ./ -n -W --keep-going | |
| mkdir _build/html/_pdf | |
| cp -u _build/latex/*.pdf _build/html/_pdf | |
| # Final Build of HTML | |
| - name: Build HTML | |
| shell: bash -l {0} | |
| run: | | |
| jb build lectures --path-output ./ -n -W --keep-going | |
| - name: Upload build folder | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: _build | |
| path: _build/ | |
| - name: Upload Execution Reports | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: execution-reports | |
| path: _build/html/reports | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: '24' | |
| - name: Preview Deploy to Netlify | |
| uses: quantecon/actions/preview-netlify@v0.12.0 | |
| with: | |
| netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
| netlify-site-id: ${{ secrets.NETLIFY_SITE_ID }} | |
| build-dir: _build/html |