Repository navigation
49 lines (41 loc) · 1.82 KB
/
Copy pathcheck.yml
File metadata and controls
49 lines (41 loc) · 1.82 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
name: Check
# Runs the same gate a commit runs locally, on every push and pull request. Until this
# existed nothing in CI ran the tests at all: the only workflows were a manual extension
# build and two deploys, so 456 tests protected nothing that could block a merge.
on:
push:
branches: ["**"]
pull_request:
permissions:
contents: read
jobs:
check:
runs-on: ubuntu-latest
steps:
# Recursive, and both wasm packages are built before anything else runs. A leaner
# job was tried and does not work: on a checkout without them `bun install` reports
# "Failed to install 2 packages", typechecking fails with eleven errors about
# `lwk_wasm` and `smplx-wasm` having no declarations, and three test files fail
# outright on `Cannot find module 'smplx-wasm/smplx_wasm_bg.js'` — they drive the
# real module rather than a substitute, which is the point of them.
- name: Checkout (with the lwk and smplx submodules)
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Bun
uses: ./.github/actions/setup-bun
# dev rather than release: this job checks code, and an unoptimised wasm builds
# faster. The release profile belongs to the build workflow, which ships the result.
- name: Build lwk_wasm
uses: ./.github/actions/build-lwk-wasm
with:
profile: dev
- name: Build smplx_wasm
uses: ./.github/actions/build-smplx-wasm
- name: Install dependencies
uses: ./.github/actions/install
# typecheck across apps/extension, packages/ and apps/web, then lint, format and
# the test suite. The three projects are separate deliberately — see the comment in
# lefthook.yml for why one `tsc --noEmit` never covered them.
- name: Check
run: bun run check