Skip to content

Commit e00f069

Browse files
committed
Create PDF typesetting pipeline and automated release workflow
1 parent c0c4e1d commit e00f069

4 files changed

Lines changed: 515 additions & 8 deletions

File tree

.github/workflows/release-pdf.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Build PDF Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
release-pdf:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Python
21+
uses: actions/setup-python@v5
22+
with:
23+
python-version: '3.13'
24+
25+
- name: Setup Pandoc
26+
uses: r-lib/actions/setup-pandoc@v2
27+
with:
28+
pandoc-version: '3.9.0.2'
29+
30+
- name: Setup Typst
31+
uses: typst-community/setup-typst@v4
32+
with:
33+
typst-version: '0.14.2'
34+
35+
- name: Install PDF fonts
36+
run: |
37+
sudo apt-get update
38+
sudo apt-get install -y fonts-roboto fonts-dejavu-core
39+
40+
- name: Build PDF
41+
run: python3 bin/build_pdf.py
42+
43+
- name: Create release
44+
if: ${{ env.ACT != 'true' }}
45+
uses: softprops/action-gh-release@v2
46+
with:
47+
tag_name: 'pdf-${{ github.sha }}'
48+
target_commitish: '${{ github.sha }}'
49+
name: 'Scaling Book PDF ${{ github.sha }}'
50+
draft: true
51+
body: |
52+
Automated PDF build for commit `${{ github.sha }}` on `main`.
53+
files: |
54+
scaling-book.pdf
55+
scaling-book.typ
56+
scaling-book-combined.md
57+
fail_on_unmatched_files: true
58+
make_latest: true

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,6 @@ vendor
1414
*.swp
1515
.jj
1616
*.docx
17+
scaling-book-combined.md
18+
scaling-book.pdf
19+
scaling-book.typ

0 commit comments

Comments
 (0)