chore: use Node.js v20.18.0 #4
Workflow file for this run
This file contains 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: | |
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 |