-
Notifications
You must be signed in to change notification settings - Fork 6
96 lines (84 loc) · 2.55 KB
/
Copy pathbuild.yml
File metadata and controls
96 lines (84 loc) · 2.55 KB
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
name: Build Book PDF
on:
push:
branches: [main, master, maximum-effort]
pull_request:
branches: [main, master]
workflow_dispatch: # Allow manual triggers
jobs:
build-pdf:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- name: Install Quarto
uses: quarto-dev/quarto-actions/setup@v2
with:
version: '1.6.40'
- name: Install TeX Live
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
texlive-latex-base \
texlive-latex-recommended \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-fonts-extra \
texlive-science \
texlive-pictures \
texlive-bibtex-extra \
texlive-plain-generic \
lmodern \
biber \
latexmk \
cm-super \
dvipng \
ghostscript
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install numpy scipy matplotlib sympy
- name: Verify installations
run: |
echo "=== Quarto version ==="
quarto --version
echo ""
echo "=== Python packages ==="
pip list | grep -E "numpy|scipy|matplotlib|sympy"
echo ""
echo "=== LaTeX version ==="
pdflatex --version | head -2
- name: Build book PDF with Quarto
run: |
quarto render --to pdf
- name: Verify PDF was created
run: |
if [ -f _book/Finite-Difference-Computing-with-PDEs.pdf ]; then
echo "PDF successfully created!"
ls -lh _book/Finite-Difference-Computing-with-PDEs.pdf
else
echo "ERROR: PDF was not created"
echo "Contents of _book directory:"
ls -la _book/ || echo "_book directory does not exist"
exit 1
fi
- name: Upload PDF artifact
uses: actions/upload-artifact@v4
with:
name: fdm-book-pdf
path: _book/Finite-Difference-Computing-with-PDEs.pdf
retention-days: 30
- name: Upload build logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: build-logs
path: |
_book/*.log
_book/*.tex
retention-days: 7