name: CI

on:
    push:
        branches: [main, develop]
    pull_request:
        branches: [main, develop]

jobs:
    smoke:
        name: Build + Tests Smoke
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4

            - name: Setup Node
              uses: actions/setup-node@v4
              with:
                  node-version: "20"
                  cache: npm

            - name: Setup Rust
              uses: dtolnay/rust-toolchain@stable

            - name: Install Linux deps for Tauri check
              run: |
                  sudo apt-get update
                  sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

            - name: Install frontend dependencies
              run: npm ci

            - name: Build frontend
              run: npm run build

            - name: Run frontend tests
              run: npm test

            - name: Cargo check
              run: cargo check --manifest-path src-tauri/Cargo.toml
