ci: split verification workflow checks #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |