-
Notifications
You must be signed in to change notification settings - Fork 3
135 lines (108 loc) · 2.89 KB
/
check.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
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
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
name: Check
jobs:
test:
name: Test Suite
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Setup Rust build cache
uses: Swatinem/rust-cache@v2
- name: Run cargo test
run: cargo test --workspace
rustfmt:
name: Format
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust toolchain
run: |
rustup toolchain install nightly
rustup default nightly
rustup component add rustfmt
- name: Run cargo fmt
run: cargo fmt --all -- --check
clippy:
name: Clippy lints
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust toolchain
run: |
rustup toolchain install 1.81.0
rustup default 1.81.0
rustup component add clippy
- name: Setup Rust build cache
uses: Swatinem/rust-cache@v2
- name: Run cargo clippy
run: cargo clippy --workspace
deny:
name: "`cargo deny` audit"
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Run cargo deny
uses: EmbarkStudios/cargo-deny-action@v2
biome:
name: "`biome` check"
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: latest
- name: Run Biome
run: biome ci
working-directory: web
typecheck:
name: Web app typecheck
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Install Node
uses: actions/setup-node@v4.0.4
with:
node-version: "20"
cache: "pnpm"
cache-dependency-path: web/pnpm-lock.yaml
- name: Install Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
rustup target add wasm32-unknown-unknown
- name: Setup Rust build cache
uses: Swatinem/rust-cache@v2
- name: Install Node dependencies
run: pnpm i
working-directory: web
- name: Build the app
run: pnpm run build
working-directory: web
- name: Typecheck
run: pnpm run typecheck
working-directory: web