Skip to content

fix(ci): replace pnpm with npm in docs workflow #258

fix(ci): replace pnpm with npm in docs workflow

fix(ci): replace pnpm with npm in docs workflow #258

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
# ── Type check + lint + test (parallel with build + rust-test) ───────────────
quality:
name: Quality
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ~/.pnpm
key: pnpm-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-${{ runner.os }}-
- name: Install dependencies
run: pnpm install --frozen-lockfile --ignore-scripts
- name: Type check
run: pnpm exec vue-tsc --noEmit
- name: Lint
run: pnpm lint
- name: Test
run: pnpm test
# ── Tauri build (parallel with quality + rust-test, no blocking dependency) ───
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ~/.pnpm
key: pnpm-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-${{ runner.os }}-
- name: Install Linux build deps
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libglib2.0-dev \
librsvg2-dev \
libffmpegthumbnailer-dev \
libjpeg-dev \
libvips-dev \
ffmpeg
- name: Setup Rust
uses: dtolnay/rust-toolchain@1.89.0
- name: Cache Rust cargo
uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Install dependencies
run: pnpm install --frozen-lockfile --ignore-scripts
- name: Build Tauri
run: pnpm tauri build
# ── Rust unit tests (parallel with quality + build) ───────────────────────────
rust-test:
name: Rust Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Linux build deps
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libglib2.0-dev \
librsvg2-dev \
libffmpegthumbnailer-dev \
libjpeg-dev \
libvips-dev \
ffmpeg
- name: Setup Rust
uses: dtolnay/rust-toolchain@1.89.0
- name: Cache Rust cargo
uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Generate Cargo.lock
run: cd src-tauri && cargo generate-lockfile
- name: Run unit tests
run: |
cd src-tauri
cargo test --lib --bins