From 5e05d25b463f079cab6a7d55ca0a4a1dfe85fca7 Mon Sep 17 00:00:00 2001 From: Offending Commit Date: Mon, 27 Apr 2026 13:49:53 -0500 Subject: [PATCH] feat(ci): add cargo-check job with Turborepo + Swatinem cache --- .github/workflows/ci.yml | 23 +++++++++++++++++- packages/desktop/package.json | 27 ++++++++++---------- turbo.json | 46 +++++++++++++++++++---------------- 3 files changed, 61 insertions(+), 35 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5cd648..697887a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,9 +17,30 @@ jobs: - run: pnpm turbo lint typecheck test build --filter=@openconcho/web + cargo-check: + name: Rust compile check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install Linux dependencies + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + + - uses: dtolnay/rust-toolchain@stable + + - uses: Swatinem/rust-cache@v2 + with: + workspaces: packages/desktop/src-tauri -> target + + - uses: ./.github/actions/setup + + - run: pnpm turbo cargo-check --filter=@openconcho/desktop + release: name: Release - needs: check + needs: [check, cargo-check] if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest permissions: diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 7572700..f318e55 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,15 +1,16 @@ { - "name": "@openconcho/desktop", - "private": true, - "scripts": { - "dev": "tauri dev", - "build": "tauri build", - "tauri": "tauri" - }, - "dependencies": { - "@openconcho/web": "workspace:*" - }, - "devDependencies": { - "@tauri-apps/cli": "^2" - } + "name": "@openconcho/desktop", + "private": true, + "scripts": { + "dev": "tauri dev", + "build": "tauri build", + "tauri": "tauri", + "cargo-check": "cargo check --manifest-path src-tauri/Cargo.toml" + }, + "dependencies": { + "@openconcho/web": "workspace:*" + }, + "devDependencies": { + "@tauri-apps/cli": "^2" + } } diff --git a/turbo.json b/turbo.json index f09c462..af29be7 100644 --- a/turbo.json +++ b/turbo.json @@ -1,23 +1,27 @@ { - "$schema": "https://turbo.build/schema.json", - "tasks": { - "build": { - "dependsOn": ["^build"], - "outputs": ["dist/**", "src-tauri/target/release/bundle/**"] - }, - "typecheck": { - "dependsOn": ["^typecheck"], - "inputs": ["src/**", "tsconfig*.json"] - }, - "lint": { - "inputs": ["src/**"] - }, - "test": { - "inputs": ["src/**", "vitest.config.*", "package.json"] - }, - "dev": { - "cache": false, - "persistent": true - } - } + "$schema": "https://turbo.build/schema.json", + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**", "src-tauri/target/release/bundle/**"] + }, + "typecheck": { + "dependsOn": ["^typecheck"], + "inputs": ["src/**", "tsconfig*.json"] + }, + "lint": { + "inputs": ["src/**"] + }, + "test": { + "inputs": ["src/**", "vitest.config.*", "package.json"] + }, + "cargo-check": { + "inputs": ["src-tauri/src/**", "src-tauri/Cargo.toml", "src-tauri/Cargo.lock"], + "outputs": [] + }, + "dev": { + "cache": false, + "persistent": true + } + } }