Skip to content

fix(activity): refresh live tab titles on the sample tick, not every … #603

fix(activity): refresh live tab titles on the sample tick, not every …

fix(activity): refresh live tab titles on the sample tick, not every … #603

Workflow file for this run

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