feat(ci): add cargo-check job with Turborepo + Swatinem cache
This commit is contained in:
23
.github/workflows/ci.yml
vendored
23
.github/workflows/ci.yml
vendored
@@ -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:
|
||||||
|
|||||||
@@ -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"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
46
turbo.json
46
turbo.json
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user