name: CI on: push: branches: [master] pull_request: branches: [master] jobs: go: name: Go server runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.25' - name: Build run: cd server && go build ./... - name: Vet run: cd server && go vet ./... - name: Test run: cd server && go test ./... web: name: Web + core packages runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 24 cache: npm - name: Install dependencies run: npm ci - name: Build web run: npm run build:web - name: Test core run: npm run test:core - name: Test UI run: npm run test:ui --if-present rust: name: Desktop (Tauri) cargo check runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Tauri system dependencies run: | sudo apt-get update sudo apt-get install -y \ libwebkit2gtk-4.1-dev \ libappindicator3-dev \ librsvg2-dev \ patchelf \ libsoup-3.0-dev \ javascriptcoregtk-4.1-dev \ libgtk-3-dev \ libxdo-dev - uses: dtolnay/rust-toolchain@stable - name: Cargo check run: cd src-tauri && cargo check