-
Notifications
You must be signed in to change notification settings - Fork 0
109 lines (89 loc) · 3.04 KB
/
release.yaml
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
name: Build and release
on:
push:
paths:
- 'src/*.tex'
- '.github/workflows/release.yaml'
env:
my_name: jonathan-zhang
jobs:
build-pdf:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Install tlmgr
run: |
# sudo apt update && sudo apt install ca-certificates
mkdir tex-install && cd tex-install
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar -xzf install-tl-unx.tar.gz
rm *.gz
cd install-tl-*
perl ./install-tl --no-interaction --scheme=scheme-minimal \
--no-doc-install --no-src-install --paper=letter
- name: Install dependencies
run: tlmgr install $(cat DEPENDS.txt)
- name: Build PDFs
run: make
- name: Upload PDFs
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
with:
name: "pdfs"
path: "build/*.pdf"
generate-image:
needs: build-pdf
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Download PDFs
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a
with:
name: "pdfs"
- name: Setup Python
uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # 4.7.0
with:
python-version: "3.11"
- name: Install dependencies
run: python -m pip install -r requirements.txt
- name: Create PNG
run: python -m pdf2png main.pdf main.png
- name: Upload PNG
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
with:
name: "pngs"
path: "main.png"
release:
needs: generate-image
runs-on: ubuntu-latest
steps:
- name: Get timestamp and date
# funny timestamp format since git tags do not allow ':'
run: echo "timestamp=$(date +'%Y-%m-%dT%H-%MZ' --utc)" >> "$GITHUB_ENV"
- name: Checkout Repo
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Tag this commit
run: |
git --version
git config user.name "GH Actions"
git config user.email "<>"
git status
git tag -a $timestamp -m $timestamp
git push origin $timestamp
git describe
- name: Download PDFs
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a
with:
name: "pdfs"
- name: Download PNGs
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a
with:
name: "pngs"
- name: Rename main.pdf to my name and current date
run: mv main.pdf "$my_name-$(date +'%Y-%m-%d' --utc).pdf"
- name: Release
run: |
gh release create --title $timestamp --generate-notes $timestamp *.pdf main.png
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}