Skip to content

ci: split verification workflow checks #23

ci: split verification workflow checks

ci: split verification workflow checks #23

Workflow file for this run

name: CI
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
permissions:
contents: read
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
RUST_TOOLCHAIN: 1.93.0
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
web-check:
name: Web Check
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Vite+
uses: voidzero-dev/setup-vp@ca1c46663915d6c1042ae23bd39ab85718bfb0fa # v1.10.0
with:
node-version: 22
cache: true
run-install: |
args: ["--frozen-lockfile"]
- name: Run web checks
run: vp run web:check
rust-check:
name: Rust Check
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Vite+
uses: voidzero-dev/setup-vp@ca1c46663915d6c1042ae23bd39ab85718bfb0fa # v1.10.0
with:
node-version: 22
cache: true
run-install: |
args: ["--frozen-lockfile"]
- name: Install Rust toolchain
run: |
rustup toolchain install "$RUST_TOOLCHAIN" --profile minimal --component clippy
rustup default "$RUST_TOOLCHAIN"
- name: Run Rust checks
run: vp run rust:check
- name: Run Rust tests
run: cargo test --workspace
build:
name: Build Packages and Apps
runs-on: ubuntu-24.04
timeout-minutes: 30
needs:
- web-check
- rust-check
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Vite+
uses: voidzero-dev/setup-vp@ca1c46663915d6c1042ae23bd39ab85718bfb0fa # v1.10.0
with:
node-version: 22
cache: true
run-install: |
args: ["--frozen-lockfile"]
- name: Install Rust toolchain
run: |
rustup toolchain install "$RUST_TOOLCHAIN" --profile minimal
rustup default "$RUST_TOOLCHAIN"
rustup target add wasm32-unknown-unknown --toolchain "$RUST_TOOLCHAIN"
- name: Install WebAssembly linker
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends --yes lld
- name: Build workspace packages and apps
run: vp run workspace:build