diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4806928..dc5aef2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,40 +3,12 @@ on: [pull_request] jobs: preview: runs-on: ubuntu-latest + container: + image: ghcr.io/quantecon/quantecon:latest steps: - name: Checkout uses: actions/checkout@v5 - - 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: Graphics Support #TODO: Review if graphviz is needed - run: | - sudo apt-get -qq update && sudo apt-get install -y graphviz - - name: Install latex dependencies - run: | - sudo apt-get -qq update - sudo apt-get install -y \ - texlive-latex-recommended \ - texlive-latex-extra \ - texlive-fonts-recommended \ - texlive-fonts-extra \ - texlive-xetex \ - latexmk \ - xindy \ - dvipng \ - cm-super - - 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@v11 with: @@ -44,33 +16,35 @@ jobs: branch: main name: build-cache path: _build + # Build Assets (Download Notebooks and PDF via LaTeX) - name: Build PDF from LaTeX - shell: bash -l {0} run: | jb build lectures --builder pdflatex --path-output ./ -n --keep-going mkdir -p _build/html/_pdf cp -u _build/latex/*.pdf _build/html/_pdf + - name: Upload Execution Reports (LaTeX) uses: actions/upload-artifact@v5 if: failure() with: name: execution-reports path: _build/latex/reports + - name: Build Download Notebooks (sphinx-tojupyter) - shell: bash -l {0} run: | jb build lectures --path-output ./ --builder=custom --custom-builder=jupyter mkdir -p _build/html/_notebooks cp -u _build/jupyter/*.ipynb _build/html/_notebooks + # Build HTML (Website) # BUG: rm .doctress to remove `sphinx` rendering issues for ipywidget mimetypes # and clear the sphinx cache for building final HTML documents. - name: Build HTML - shell: bash -l {0} run: | rm -r _build/.doctrees jb build lectures --path-output ./ -nW --keep-going + - name: Upload Execution Reports (HTML) uses: actions/upload-artifact@v5 if: failure()