fix(activity): refresh live tab titles on the sample tick, not every … #603
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: Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| typescript: | |
| name: TypeScript (Vitest) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm test | |
| # The specs and the perf suite live outside the app's `tsc -b` project, so | |
| # nothing was checking them: 71 errors had accumulated, including two unit | |
| # strings in the perf report that were simply wrong. Cheap, so it rides | |
| # with the unit tests rather than earning its own job. | |
| - run: npm run typecheck:e2e | |
| rust: | |
| name: Rust (cargo test) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| build-essential pkg-config libssl-dev \ | |
| libgtk-3-dev libwebkit2gtk-4.1-dev \ | |
| libayatana-appindicator3-dev librsvg2-dev | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src-tauri | |
| - name: Run unit tests | |
| working-directory: src-tauri | |
| # --workspace so the CLI crates (termic-proto wire round-trips, | |
| # termic-cli exit-code + output goldens) run alongside the app's | |
| # lib tests. The behavioral sandbox tests self-skip off macOS. | |
| run: cargo test --workspace --lib | |
| e2e: | |
| # Written WebdriverIO suite driving the real macOS WKWebView window | |
| # (docs/e2e-tests.md + the `e2e` skill). macOS-only (WKWebView). NOT a | |
| # required check yet — it's here to surface flakiness so we can harden it | |
| # before gating merges on it. Screenshots are skipped in CI (CI=true). | |
| name: E2E (WebdriverIO, macOS) | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src-tauri | |
| - run: npm ci | |
| - name: Seed e2e fixture profile | |
| run: node scripts/e2e-seed.mjs | |
| - name: Build e2e binary | |
| run: npm run e2e:build | |
| - name: Run e2e suite | |
| run: npm run test:e2e | |
| - name: Upload artifacts on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: e2e-artifacts | |
| path: | | |
| .e2e/artifacts | |
| /var/folders/**/termic-debug.log | |
| if-no-files-found: ignore | |
| # Same trap as perf.yml: `.e2e/` is hidden, so every screenshot and | |
| # debug log from a failing run was silently dropped. With | |
| # `if-no-files-found: ignore` there was not even a warning. | |
| include-hidden-files: true |