Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 51 additions & 38 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,84 +6,97 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Anaconda
uses: conda-incubator/setup-miniconda@v3

# Use unified composite action for complete environment setup
- name: Setup Complete Lecture Environment
uses: quantecon/actions/setup-lecture-env-full@main
with:
auto-update-conda: true
auto-activate-base: true
miniconda-version: 'latest'
python-version: "3.13"
environment-file: environment.yml
activate-environment: quantecon
python-version: '3.13'
environment-file: 'environment.yml'
latex-requirements-file: 'latex-requirements.txt'
environment-name: '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:
workflow: cache.yml
branch: main
name: build-cache
path: _build

# Build Assets (Download Notebooks and PDF via LaTeX)
# Use composite action for PDF build
- name: Build PDF from LaTeX
shell: bash -l {0}
uses: quantecon/actions/build-lectures@main
with:
builder: 'pdflatex'
source-dir: 'lectures'
extra-args: '-n --keep-going'

- name: Copy PDF to HTML output
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
name: execution-reports-latex
path: _build/latex/reports

# Use composite action for notebook build
- name: Build Download Notebooks (sphinx-tojupyter)
shell: bash -l {0}
uses: quantecon/actions/build-lectures@main
with:
builder: 'jupyter'
source-dir: 'lectures'

- name: Copy Notebooks to HTML output
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
# BUG: rm .doctrees 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

# Use composite action for HTML build
- name: Build HTML (Jupyter Book)
uses: quantecon/actions/build-lectures@main
with:
builder: 'html'
source-dir: 'lectures'
extra-args: '-nW --keep-going'

- name: Upload Execution Reports (HTML)
uses: actions/upload-artifact@v5
if: failure()
with:
name: execution-reports
name: execution-reports-html
path: _build/html/reports

# Use composite action for Netlify deployment
- name: Preview Deploy to Netlify
uses: nwtgck/actions-netlify@v3.0
uses: quantecon/actions/deploy-netlify@main
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 }}
build-dir: '_build/html/'
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_SITE_ID }}
production: 'false'
message: 'Preview Deploy from GitHub Actions'
4 changes: 3 additions & 1 deletion lectures/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ kernelspec:

# (TEST) A First Course in Quantitative Economics with Python

This lecture series provides an introduction to quantitative economics using Python.
This lecture series provides an introduction to quantitative economics using Python.

**Testing local cache hit on PR #4** - This small edit should trigger a rebuild that uses the local cache created in the first run.

```{tableofcontents}
```
Expand Down
Loading