-
-
Notifications
You must be signed in to change notification settings - Fork 35
136 lines (136 loc) · 4.95 KB
/
publish.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: Build & Publish to GH-PAGES
on:
push:
tags:
- 'publish*'
branch:
- main
jobs:
publish:
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Anaconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: true
miniconda-version: 'latest'
python-version: 3.11
environment-file: environment.yml
activate-environment: networks
- 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 \
msttcorefonts
- name: Set up Julia
uses: julia-actions/setup-julia@v1
with:
version: 1.9
- name: Install IJulia and Setup Project
shell: bash
run: |
julia -e 'using Pkg; ENV["PYTHON"]="/usr/share/miniconda3"; Pkg.add(["JuMP","GLPK","PyPlot","IJulia"]); using PyPlot'
- 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@v2
# 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
# - name: Copy LaTeX PDF for GH-PAGES
# shell: bash -l {0}
# run: |
# 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@v2
# 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
# cp -u _build/jupyter/*.ipynb _build/html/_notebooks
# Build HTML (Website)
- name: Build HTML
shell: bash -l {0}
run: |
jb build code_book --path-output ./
- name: Custom Front Page
shell: bash -l {0}
run: |
cp -r frontpage/assets _build/html/
cp -r frontpage/images _build/html/
cp frontpage/index.html _build/html/
- name: Book PDF
shell: bash -l {0}
run: |
mkdir -p _build/html/_downloads
cp pdf/networks.pdf _build/html/_downloads/
cp pdf/networks_chinese.pdf _build/html/_downloads/
- name: Deploy website to gh-pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: _build/html/
cname: networks.quantecon.org
# - name: Prepare book-networks.notebooks sync
# shell: bash -l {0}
# run: |
# mkdir -p _build/book-networks.notebooks
# cp -a _notebook_repo/. _build/book-networks.notebooks
# cp _build/jupyter/*.ipynb _build/book-networks.notebooks
# ls -a _build/book-networks.notebooks
# - name: Commit latest notebooks to book-networks.notebooks
# uses: cpina/[email protected]
# env:
# API_TOKEN_GITHUB: ${{ secrets.QUANTECON_SERVICES_PAT }}
# with:
# source-directory: '_build/book-networks.notebooks/'
# destination-repository-username: 'QuantEcon'
# destination-repository-name: 'book-networks.notebooks'
# commit-message: 'auto publishing updates to notebooks'
# destination-github-username: 'quantecon-services'
# user-email: [email protected]