feat(ci): add cargo-check job with Turborepo + Swatinem cache

This commit is contained in:
Offending Commit
2026-04-27 13:49:53 -05:00
parent dc0a986b75
commit 5e05d25b46
3 changed files with 61 additions and 35 deletions

View File

@@ -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:

View File

@@ -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"
}
}

View File

@@ -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
}
}
}