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 - 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: release:
name: Release name: Release
needs: check needs: [check, cargo-check]
if: github.event_name == 'push' && github.ref == 'refs/heads/main' if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:

View File

@@ -1,15 +1,16 @@
{ {
"name": "@openconcho/desktop", "name": "@openconcho/desktop",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "tauri dev", "dev": "tauri dev",
"build": "tauri build", "build": "tauri build",
"tauri": "tauri" "tauri": "tauri",
}, "cargo-check": "cargo check --manifest-path src-tauri/Cargo.toml"
"dependencies": { },
"@openconcho/web": "workspace:*" "dependencies": {
}, "@openconcho/web": "workspace:*"
"devDependencies": { },
"@tauri-apps/cli": "^2" "devDependencies": {
} "@tauri-apps/cli": "^2"
}
} }

View File

@@ -1,23 +1,27 @@
{ {
"$schema": "https://turbo.build/schema.json", "$schema": "https://turbo.build/schema.json",
"tasks": { "tasks": {
"build": { "build": {
"dependsOn": ["^build"], "dependsOn": ["^build"],
"outputs": ["dist/**", "src-tauri/target/release/bundle/**"] "outputs": ["dist/**", "src-tauri/target/release/bundle/**"]
}, },
"typecheck": { "typecheck": {
"dependsOn": ["^typecheck"], "dependsOn": ["^typecheck"],
"inputs": ["src/**", "tsconfig*.json"] "inputs": ["src/**", "tsconfig*.json"]
}, },
"lint": { "lint": {
"inputs": ["src/**"] "inputs": ["src/**"]
}, },
"test": { "test": {
"inputs": ["src/**", "vitest.config.*", "package.json"] "inputs": ["src/**", "vitest.config.*", "package.json"]
}, },
"dev": { "cargo-check": {
"cache": false, "inputs": ["src-tauri/src/**", "src-tauri/Cargo.toml", "src-tauri/Cargo.lock"],
"persistent": true "outputs": []
} },
} "dev": {
"cache": false,
"persistent": true
}
}
} }