Skip to content

chore: use Node.js v20.18.0 #4

chore: use Node.js v20.18.0

chore: use Node.js v20.18.0 #4

Workflow file for this run

name: ci
on:
pull_request:
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
format:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: ./.github/actions/rust-setup
with:
components: rustfmt
bins: taplo-cli
github-token: ${{ github.token }}
- name: Run rustfmt
run: cargo fmt --all --check
- name: Run taplo
run: taplo format --check
lint:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/node-setup
- name: Run biome
run: yarn biome check
typecheck:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/node-setup
- name: Run tsc
run: yarn tsc --noEmit
test:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
name: test (Node.js v${{ matrix.settings.node-version }})
strategy:
fail-fast: false
matrix:
settings:
- node-version: '18'
- node-version: '20'
- node-version: '22'
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup Node.js v${{ matrix.settings.node-version }}
uses: ./.github/actions/node-setup
with:
version: ${{ matrix.settings.node-version }}
- name: Setup Rust
uses: ./.github/actions/rust-setup
with:
github-token: ${{ github.token }}
- name: Run build
run: yarn workspaces foreach -Apt run build
- name: Run vitest
run: yarn vitest run
lint-rust:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup tauri for linux
uses: ./.github/actions/tauri-linux-setup
- name: Setup Rust
uses: ./.github/actions/rust-setup
with:
components: clippy
github-token: ${{ github.token }}
- name: Run clippy
run: cargo clippy
test-rust:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
fail-fast: false
matrix:
settings:
- host: macos-13
target: x86_64-apple-darwin
- host: macos-latest
target: aarch64-apple-darwin
- host: ubuntu-latest
target: x86_64-unknown-linux-gnu
- host: ubuntu-latest
target: x86_64-unknown-linux-musl
- host: windows-latest
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.settings.host }}
steps:
- name: Git checkout
uses: actions/checkout@v4
- if: ${{ matrix.settings.host == 'ubuntu-latest' }}
name: Setup tauri for linux
uses: ./.github/actions/tauri-linux-setup
- name: Setup Rust
uses: ./.github/actions/rust-setup
with:
github-token: ${{ github.token }}
- name: Run cargo test
run: cargo test --workspace