-
Notifications
You must be signed in to change notification settings - Fork 4
91 lines (79 loc) · 3.51 KB
/
main.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
# adapted from https://github.com/XYQuadrat/eth-cheatsheets
# This is a basic workflow to help you get started with Actions
name: Build LaTeX documents
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Set up Git repository
uses: actions/checkout@v2
- name: Fetch tags
shell: bash
run: git fetch --tags -f
- name: Compile LaTeX document (xelatex)
uses: xu-cheng/latex-action@v2
with:
root_file: |
analysis1/analysis1.tex
analysis2/analysis2.tex
complex-analysis/complex.tex
linear-algebra/linalg.tex
wus/wus.tex
work_in_root_file_dir: true
glob_root_file: true
latexmk_use_xelatex: true
- name: Compile LaTeX document (pdflatex)
uses: xu-cheng/latex-action@v2
with:
root_file: |
iml/iml.tex
work_in_root_file_dir: true
glob_root_file: true
- name: Deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LINALG_TOKEN: ${{ secrets.LINALG_TOKEN }}
CA_TOKEN: ${{ secrets.CA_TOKEN }}
IML_TOKEN: ${{ secrets.IML_TOKEN }}
ANA1_TOKEN: ${{ secrets.ANA1_TOKEN }}
ANA2_TOKEN: ${{ secrets.ANA2_TOKEN }}
run: |
TAG="nightly"
git tag -f "$TAG"
gh release delete "$TAG" || true
gh release create "$TAG" -n "Nightly PDF build
This release always contains the PDFs built from the latest .tex source. It is advised to only use the latest versions for actual exams, as old versions might contain factual errors." -t "$TAG" || true
find -iname '*pdf' -not -path '**/*degrees_circle*' -print0 | while IFS= read -r -d $'\0' file; do
pdf="${file%.*}.pdf"
echo "Delivering file $pdf"
gh release upload "$TAG" "$file" --clobber
done
curl https://exams.vis.ethz.ch/api/document/tgassmann/cheatsheet-hs22/files/149/update/ \
-H "Authorization: $LINALG_TOKEN" \
-F "file=@./linear-algebra/linalg.pdf"
curl https://exams.vis.ethz.ch/api/document/tgassmann/cheatsheet-fs24/files/296/update/ \
-H "Authorization: $CA_TOKEN" \
-F "file=@./complex-analysis/complex.pdf"
curl https://exams.vis.ethz.ch/api/document/tgassmann/cheatsheet-fs24_0/files/308/update/ \
-H "Authorization: $IML_TOKEN" \
-F "file=@./iml/iml.pdf"
curl https://exams.vis.ethz.ch/api/document/tgassmann/analysis-i-cheatsheet-fs22/files/309/update/ \
-H "Authorization: $ANA1_TOKEN" \
-F "file=@./analysis1/analysis1.pdf"
curl https://exams.vis.ethz.ch/api/document/tgassmann/analysis-ii-cheatsheet-hs22/files/310/update/ \
-H "Authorization: $ANA2_TOKEN" \
-F "file=@./analysis2/analysis2.pdf"