Skip to content

ci: merge gate — Biome, Vitest, expanded E2E/visual, Husky hooks - #10

Merged
chtnnh merged 8 commits into
mainfrom
feat/merge-gate
Aug 7, 2026
Merged

ci: merge gate — Biome, Vitest, expanded E2E/visual, Husky hooks#10
chtnnh merged 8 commits into
mainfrom
feat/merge-gate

Conversation

@chtnnh

@chtnnh chtnnh commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace ESLint with Biome (root biome.json, format + lint across the monorepo).
  • Redesign GitHub Actions CI into a merge gate: quality → build → unit → db → e2e → visual, with Playwright artifact uploads on failure.
  • Add Vitest workspace and unit tests across all packages; migrate logic from several slow Playwright specs.
  • Expand Playwright E2E (desktop + mobile) and visual regression baselines; add @smoke suite and shared room helpers.
  • Add Husky hooks: incremental ci:pre-commit, fast ci:pre-push (quality/build/unit/db only — E2E/visual run in CI), plus pnpm ci:local for full parity.
  • Document local dev, ci:* scripts, testing layers, hooks, and optional know-code workflow in README / CONTRIBUTING / AGENTS.

Test plan

  • CI green on this PR (quality, build, unit, db, e2e, visual jobs)
  • pnpm ci:local passes locally
  • pnpm ci:pre-commit on a small change (~30–90s)
  • pnpm ci:pre-push completes without Playwright (~1–5 min)
  • Spot-check: create room, chat, queue reorder on mobile + desktop

chtnnh added 7 commits August 7, 2026 20:05
Adopt Biome 2 for lint/format, remove apps/web ESLint config, and apply
formatter across the monorepo. Lint scripts fail on warnings via --error-on-warnings.

Know-Code-Verified: ae969e00cd2b7bbbd629d7b9a8a0337228c546cb0d52dc0cdfd24f8080c3ac1f
Split GitHub Actions into quality, build, unit, db, e2e, and visual jobs with
Playwright artifact uploads. Add ci:* scripts, affected-path helpers, build log
guard, and mobile-first Playwright project ordering.

Know-Code-Verified: ae969e00cd2b7bbbd629d7b9a8a0337228c546cb0d52dc0cdfd24f8080c3ac1f
Introduce root Vitest workspace, migrate playback and schema tests from Playwright,
and extract chat-mentions and vote-math for isolated unit coverage.

Know-Code-Verified: ae969e00cd2b7bbbd629d7b9a8a0337228c546cb0d52dc0cdfd24f8080c3ac1f
Add mobile, chat, smoke, and democratic-promote specs; shared room helpers;
data-testids for queue and nav; force-dynamic admin layout; and Linux visual snapshots.

Know-Code-Verified: ae969e00cd2b7bbbd629d7b9a8a0337228c546cb0d52dc0cdfd24f8080c3ac1f
Wire pre-commit to ci:pre-commit and pre-push to ci:pre-push. Document optional
know-code overlay on pre-push only (range workflow); local *.local files stay gitignored.

Know-Code-Verified: ae969e00cd2b7bbbd629d7b9a8a0337228c546cb0d52dc0cdfd24f8080c3ac1f
Add CONTRIBUTING.md with ci:local contract, hook tiers, artifact debugging,
and know-code opt-in (teach/quiz after full range, gate on pre-push only).

Know-Code-Verified: ae969e00cd2b7bbbd629d7b9a8a0337228c546cb0d52dc0cdfd24f8080c3ac1f
Know-Code-Verified: 32a2d60f8c929d71dee795f0f3608dd76c3e57d319753e6b44c2134b0003d8a6
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
together-web Ready Ready Preview Aug 7, 2026 6:03pm

@cursor

cursor Bot commented Aug 7, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Mostly CI, lint, and test infrastructure; low runtime risk, but a misconfigured hook or CI job could block merges or miss regressions until green CI is verified.

Overview
Introduces a documented merge gate (pnpm ci:local) aligned with GitHub Actions: split jobs for quality (Biome + typecheck), build, unit (Vitest), db guard, e2e, and visual, with shared workflow env and Playwright report/test-result artifacts on failure.

Replaces ESLint with Biome at the repo root and in @together/web; removes eslint.config.mjs. Adds Husky pre-commit / pre-push wired to ci:pre-commit and ci:pre-push, plus optional gitignored know-code hook examples and CONTRIBUTING.md for the contract.

Testing changes: Vitest workspace and test:unit / ci:unit; many former Playwright-only assertions move to unit tests (playback sync, rate-limit helpers, crossfade, etc.). Playwright gets mobile-first project ordering, broader mobile E2E coverage, @smoke specs, richer e2e/helpers/room.ts (tabs, settings, promote bar), failure screenshots/traces, and new visual baselines (offline, private join, settings).

Small product/testability tweaks: chat uses shared mention helpers and data-testids with LTR chat on RTL pages; admin layout force-dynamic; infra e2e asserts the new CI scripts and Biome.

Reviewed by Cursor Bugbot for commit cb6398f. Bugbot is set up for automated code reviews on this repo. Configure here.

@chtnnh chtnnh self-assigned this Aug 7, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d7a37c3. Configure here.

Comment thread apps/web/src/components/emoji-chat.tsx Outdated
Comment thread apps/web/src/components/emoji-chat.tsx Outdated
Comment thread apps/web/playwright.config.ts
Know-Code-Verified: 7a23a0ef3ed18b45b3c39f2aaa26f54bfc62588ec44fcc86c78b3caf6f81a10b
@chtnnh
chtnnh merged commit 3c02b87 into main Aug 7, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant