TEST: use Github based GPU instance for CI #397
Workflow file for this run
This file contains 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] | |
jobs: | |
preview: | |
runs-on: ubuntu-latest-gpu | |
# container: | |
# image: docker://nvidia/cuda:12.4.1-devel-ubuntu22.04 | |
# options: --gpus all | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup Anaconda | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
auto-activate-base: true | |
miniconda-version: 'latest' | |
python-version: "3.11" | |
environment-file: environment.yml | |
activate-environment: quantecon | |
- name: Install CUDA | |
shell: bash -l {0} | |
run: | | |
conda install cudatoolkit cuda-nvcc -c nvidia -c anaconda -y | |
- name: Install JAX[CUDA] and Numpyro[CUDA] | |
shell: bash -l {0} | |
run: | | |
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/ | |
pip install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html | |
pip install --upgrade "numpyro[cuda]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html | |
- name: Check nvidia drivers | |
shell: bash -l {0} | |
run: | | |
nvidia-smi | |
- name: Check python version | |
shell: bash -l {0} | |
run: | | |
python --version | |
- 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@v3 | |
# 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: | | |
# 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@v4 | |
if: failure() | |
with: | |
name: _build | |
path: _build/ | |
- name: Upload Execution Reports | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: execution-reports | |
path: _build/html/reports | |
- name: Preview Deploy to Netlify | |
uses: nwtgck/actions-netlify@v2 | |
with: | |
publish-dir: '_build/html/' | |
production-branch: main | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
deploy-message: "Preview Deploy from GitHub Actions" | |
env: | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} |