chore(release): v1.1.1 #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| # Validation for every push to main and every pull request. Build/sign/publish live in | |
| # release.yml (tag-triggered) - this workflow never releases anything, it only catches | |
| # breakage before it lands: type errors, lint, Rust formatting, and clippy. | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| # Supersede in-flight runs for the same ref (PR pushes), but let main runs finish. | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| jobs: | |
| frontend: | |
| name: Frontend (typecheck, lint, build) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| - run: npm ci | |
| - name: Typecheck | |
| run: npm run typecheck | |
| - name: Lint | |
| run: npm run lint | |
| - name: Build | |
| run: npm run build | |
| rust: | |
| name: Rust (rustfmt, clippy) | |
| # Windows because src-tauri pulls in cfg(windows)-only crates that don't exist | |
| # on other targets - clippy has to compile them. | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src-tauri | |
| - name: Provide a placeholder frontend dist | |
| shell: pwsh | |
| run: | | |
| # tauri's generate_context! reads frontendDist (../dist) at compile | |
| # time, so the directory must exist for clippy/check to compile. Its | |
| # contents don't affect Rust lints, so a stub is enough - this job | |
| # deliberately does not build the real frontend. | |
| New-Item -ItemType Directory -Force -Path dist | Out-Null | |
| Set-Content -Path dist/index.html -Value '<!doctype html><title>ci</title>' -Encoding utf8 | |
| - name: rustfmt | |
| working-directory: src-tauri | |
| run: cargo fmt --all --check | |
| - name: clippy | |
| working-directory: src-tauri | |
| run: cargo clippy --all-targets --all-features -- -D warnings |