Package version bump (#318) #46
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 & Publish to GH pages | |
on: | |
push: | |
tags: | |
- 'publish*' | |
jobs: | |
publish: | |
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Install Python Dependencies | |
run: | | |
pip install -r requirements.txt | |
- 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 \ | |
texlive-luatex \ | |
dvipng \ | |
ghostscript \ | |
cm-super | |
- name: Set up Julia | |
uses: julia-actions/setup-julia@v2 | |
with: | |
version: 1.11.1 | |
- name: Install IJulia and Setup Project | |
shell: bash | |
run: | | |
julia -e 'using Pkg; Pkg.add("IJulia");' | |
julia --project=lectures --threads auto -e 'using Pkg; Pkg.instantiate();' | |
# Download Jupyter Book Cache | |
- name: Download "build" folder (cache) | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
workflow: cache.yml | |
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: Build Download Notebooks (sphinx-tojupyter) | |
shell: bash -l {0} | |
run: | | |
jb build lectures --path-output ./ --builder=custom --custom-builder=jupyter | |
zip -r download-notebooks.zip _build/jupyter | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: download-notebooks | |
path: download-notebooks.zip | |
- name: Copy Download Notebooks for GH-PAGES | |
shell: bash -l {0} | |
run: | | |
mkdir -p _build/html/_notebooks | |
rsync -r _build/jupyter/ _build/html/_notebooks/ | |
# Build Website | |
- name: Build HTML | |
shell: bash -l {0} | |
run: | | |
jb build lectures --path-output ./ | |
- name: Deploy website to gh-pages | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: _build/html/ | |
cname: julia.quantecon.org | |
- name: Upload "_build" folder (cache) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-publish | |
path: _build | |
# Sync Download Notebooks | |
- name: Prepare lecture-julia.notebooks sync | |
shell: bash | |
run: | | |
mkdir -p _build/lecture-julia.notebooks | |
cp -a _notebook_repo/. _build/lecture-julia.notebooks | |
cp -a _build/jupyter/. _build/lecture-julia.notebooks | |
rm -rf _build/lecture-julia.notebooks/_static | |
rm -rf _build/lecture-julia.notebooks/_panels_static | |
cp lectures/Project.toml _build/lecture-julia.notebooks | |
cp lectures/Manifest.toml _build/lecture-julia.notebooks | |
ls -a _build/lecture-julia.notebooks | |
- name: Commit notebooks to lecture-julia.notebooks | |
shell: bash -l {0} | |
env: | |
QE_SERVICES_PAT: ${{ secrets.QUANTECON_SERVICES_PAT }} | |
run: | | |
git clone https://quantecon-services:$QE_SERVICES_PAT@github.com/quantecon/lecture-julia.notebooks | |
cp -r _build/lecture-julia.notebooks/. lecture-julia.notebooks | |
cd lecture-julia.notebooks | |
git config user.name "QuantEcon Services" | |
git config user.email "admin@quantecon.org" | |
git add --all | |
git commit -m "auto publishing updates to notebooks" | |
git push origin main |