Skip to content

Commit fa7ec84

Browse files
claudesinelaw
authored andcommitted
test(themes): add git file-status + fake-LSP scenes; theme-keyed overlays
Broaden the before/after gallery's real-UI coverage and make the overlay-driven scenes theme-faithful: - New scenes spin up their own harness with the same theme: a git file-status explorer (real git repo + git_explorer plugin → file_status_* colors) and an LSP status indicator (fake LSP server → status_lsp_on_*). Both are best-effort and bounded, so they never hang or misalign frames. - Add completion-popup and reference/semantic-highlight scenes, and convert the diagnostics and diff-highlight overlays to OverlayFace::Style with theme keys so diagnostic.*/diff_* render from the theme rather than fixed RGB. - Replace the unbounded wait_until calls in the best-effort scenes with a bounded poll helper (a hung feature can no longer wedge the suite), and swap the terminal scene's fixed 500ms sleep for a short bounded poll. - CI: time-box the render step (`timeout 900`) and the job (timeout-minutes), so a hang fails fast instead of running to the runner limit. A single changed theme renders in ~15-20s (before + after); the run scales with the number of changed themes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Cj5c8LTx6qGzHrHD8v2qGd
1 parent 6d8a47f commit fa7ec84

3 files changed

Lines changed: 326 additions & 59 deletions

File tree

.github/workflows/theme-screenshots.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ jobs:
2424
theme-diff:
2525
name: theme diff gallery
2626
runs-on: ubuntu-latest
27+
# Each changed theme renders ~15-20s (before + after); a job-level cap keeps
28+
# a stuck render from wedging the runner. The render step also wraps cargo
29+
# in `timeout` for a tighter, clearer failure.
30+
timeout-minutes: 20
2731
steps:
2832
- name: Checkout (full history for base diff)
2933
uses: actions/checkout@v6
@@ -49,7 +53,9 @@ jobs:
4953
FRESH_THEME_BASE_REF: origin/${{ github.base_ref }}
5054
run: |
5155
set -o pipefail
52-
cargo nextest run \
56+
# Hard wall-clock cap so a hung render fails fast instead of running
57+
# to the job timeout. Generous enough for a many-theme PR.
58+
timeout 900 cargo nextest run \
5359
--package fresh-editor \
5460
--test e2e_tests \
5561
-E 'test(theme_diff_gallery)' \

0 commit comments

Comments
 (0)