Skip to content

Merge pull request #236 from openidle-dev/fix/latency-and-multiconn-v2 #405

Merge pull request #236 from openidle-dev/fix/latency-and-multiconn-v2

Merge pull request #236 from openidle-dev/fix/latency-and-multiconn-v2 #405

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
version-drift:
name: Version drift check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Compare versions across package.json, Cargo.toml, Cargo.lock, tauri.conf.json
shell: bash
run: |
set -euo pipefail
pkg=$(node -p "require('./package.json').version")
toml=$(grep -m1 '^version = ' src-tauri/Cargo.toml | sed -E 's/version = "([^"]+)"/\1/')
conf=$(node -p "require('./src-tauri/tauri.conf.json').version")
lock=$(awk '/^name = "queryden"$/{getline; print}' src-tauri/Cargo.lock | sed -E 's/version = "([^"]+)"/\1/')
echo "package.json : $pkg"
echo "Cargo.toml : $toml"
echo "Cargo.lock : $lock"
echo "tauri.conf.json : $conf"
if [ "$pkg" != "$toml" ] || [ "$pkg" != "$conf" ] || [ "$pkg" != "$lock" ]; then
echo "::error::Version drift detected. Run 'node scripts/bump-version.js <new>' to resync."
exit 1
fi
frontend:
name: Frontend (typecheck + test + build)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: "20"
cache: "npm"
- run: npm ci
- name: Typecheck
run: npx tsc --noEmit
- name: Unit tests
run: npm test
- name: Build
run: npm run build
rust:
name: Rust (check + clippy + test)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install Linux deps for Tauri
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libssl-dev \
pkg-config
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
with:
workspaces: "src-tauri -> target"
- name: cargo check
working-directory: src-tauri
run: cargo check --locked
- name: cargo clippy
working-directory: src-tauri
run: cargo clippy --locked -- -D warnings
- name: cargo test
working-directory: src-tauri
run: cargo test --locked