Skip to content

Commit 2d52e72

Browse files
authored
ci: split verification workflow checks
Closes #33
1 parent 7974d0d commit 2d52e72

2 files changed

Lines changed: 57 additions & 7 deletions

File tree

.github/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
- Keep third-party actions pinned to full commit SHAs. Preserve the upstream version comment next to each SHA so reviews can see the intended release line.
77
- Keep workflow permissions scoped per job. Prefer top-level read-only permissions, or `permissions: {}` when every job declares its own permissions.
88
- Keep `timeout-minutes` on each job to avoid stuck runners consuming the Actions queue.
9+
- Keep cheap validation jobs ahead of heavier build jobs so obvious failures stop before package and app builds start.
910

1011
## Dependency Updates
1112

.github/workflows/ci.yml

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,37 @@ permissions:
1212

1313
env:
1414
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
15+
RUST_TOOLCHAIN: 1.93.0
1516

1617
concurrency:
1718
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
1819
cancel-in-progress: true
1920

2021
jobs:
21-
verify:
22-
name: Verify
22+
web-check:
23+
name: Web Check
2324
runs-on: ubuntu-24.04
24-
timeout-minutes: 30
25+
timeout-minutes: 10
26+
27+
steps:
28+
- name: Checkout
29+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
30+
31+
- name: Set up Vite+
32+
uses: voidzero-dev/setup-vp@ca1c46663915d6c1042ae23bd39ab85718bfb0fa # v1.10.0
33+
with:
34+
node-version: 22
35+
cache: true
36+
run-install: |
37+
args: ["--frozen-lockfile"]
2538
26-
env:
27-
RUST_TOOLCHAIN: 1.93.0
39+
- name: Run web checks
40+
run: vp run web:check
41+
42+
rust-check:
43+
name: Rust Check
44+
runs-on: ubuntu-24.04
45+
timeout-minutes: 20
2846

2947
steps:
3048
- name: Checkout
@@ -42,12 +60,43 @@ jobs:
4260
run: |
4361
rustup toolchain install "$RUST_TOOLCHAIN" --profile minimal --component clippy
4462
rustup default "$RUST_TOOLCHAIN"
63+
64+
- name: Run Rust checks
65+
run: vp run rust:check
66+
67+
- name: Run Rust tests
68+
run: cargo test --workspace
69+
70+
build:
71+
name: Build Packages and Apps
72+
runs-on: ubuntu-24.04
73+
timeout-minutes: 30
74+
needs:
75+
- web-check
76+
- rust-check
77+
78+
steps:
79+
- name: Checkout
80+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
81+
82+
- name: Set up Vite+
83+
uses: voidzero-dev/setup-vp@ca1c46663915d6c1042ae23bd39ab85718bfb0fa # v1.10.0
84+
with:
85+
node-version: 22
86+
cache: true
87+
run-install: |
88+
args: ["--frozen-lockfile"]
89+
90+
- name: Install Rust toolchain
91+
run: |
92+
rustup toolchain install "$RUST_TOOLCHAIN" --profile minimal
93+
rustup default "$RUST_TOOLCHAIN"
4594
rustup target add wasm32-unknown-unknown --toolchain "$RUST_TOOLCHAIN"
4695
4796
- name: Install WebAssembly linker
4897
run: |
4998
sudo apt-get update
5099
sudo apt-get install --no-install-recommends --yes lld
51100
52-
- name: Run workspace CI
53-
run: vp run ci
101+
- name: Build workspace packages and apps
102+
run: vp run workspace:build

0 commit comments

Comments
 (0)