-
Notifications
You must be signed in to change notification settings - Fork 0
135 lines (126 loc) · 3.54 KB
/
gh-pages.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
name: Deploy My forest to Pages
on:
push:
paths-ignore:
- "LICENSE"
- "README.md"
branches:
- main
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
# Default to bash
defaults:
run:
shell: bash
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
submodules: recursive
- uses: extractions/setup-just@v1
with:
just-version: 1.35.0
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.1.29
- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: latest
- name: Lint
run: |
./chk.sh
- name: Setup TeX Live
uses: teatimeguest/setup-texlive-action@v3
with:
packages: scheme-full
- name: Check `latex`
run: |
echo $GITHUB_PATH
tlmgr --version
which latex
- name: Cache WASM packages
uses: actions/cache@v4
with:
path: |
lib/**/pkg
key: ${{ runner.os }}-wasm-${{ hashFiles('build.sh') }}
restore-keys: |
${{ runner.os }}-wasm-
- name: Setup Pages
if: ${{ !env.ACT }}
id: pages
uses: actions/configure-pages@v5
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: "5.2"
dune-cache: true
- name: Cache opam packages
uses: actions/cache@v4
with:
path: ~/.opam
key: ${{ runner.os }}-opam-${{ hashFiles('**/*.opam') }}
restore-keys: |
${{ runner.os }}-opam-
- name: Install forester
run: |
sudo apt-get install libev-dev
# opam pin add forester git+https://git.sr.ht/~jonsterling/ocaml-forester#56de06afe952d752c1a13fdcd8bb56c5fef9956f --yes
# opam install forester --yes
opam install forester.4.3.1 --yes
# https://github.com/astral-sh/setup-uv
- name: Setup Python via uv
uses: astral-sh/setup-uv@v3
with:
version: "0.4.27"
# enable-cache: true
# - name: Install Homebrew
# run: |
# bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
# echo "$(brew --prefix)/bin" >> $GITHUB_PATH
# - name: Install saxon
# run: |
# brew install saxon
- name: Build with forester
run: |
eval $(opam env)
forester --version
bash ./build.sh
- name: Fix permissions
run: |
chmod -c -R +rX "./output/" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
- name: Upload Pages artifact
if: ${{ !env.ACT }}
uses: actions/upload-pages-artifact@v3
with:
path: ./output
# Deploy job
deploy:
# Add a dependency to the build job
needs: build
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4