From b952e4e04951c18eb39dc35cacc5778ec7f6a778 Mon Sep 17 00:00:00 2001 From: anurag629 Date: Thu, 29 Oct 2026 23:13:35 +0530 Subject: [PATCH] docs: say where the screenshot workflow's CI run shows up --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9277da2..8b8e9de 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -226,7 +226,7 @@ With Google Chrome installed you can skip the Chromium download and run `E2E_CHA They cover starting from the script tag, streaming, Escape and the tab order, the phone layout, a reply that fails or is cut off, a slow tool kept alive by pings, session tokens, and a chat API on another origin. `e2e/tests/states.spec.ts` puts the widget in each of its states (launcher, unread, welcome bubble, suggestions, pre-chat form, streaming, sources, errors, rate limit, offline, conversation limit, phone) in light, dark and right-to-left, and checks each one with axe against WCAG 2.2 AA. When you add a state, add it there too. CI runs them all in the `e2e` job. -`e2e/tests/visual.spec.ts` compares screenshots of the main states, in light, dark and right-to-left, with the baselines in `e2e/screenshots/`. Fonts render differently on every OS, so the baselines are made on CI's Linux Chromium and the spec skips anywhere else, your machine included. When you change how the widget looks, a maintainer runs the "Update screenshots" workflow (Actions tab, Run workflow) on your branch. It commits the new images there and starts CI again. Look at them in the PR's Files tab: the diff is the review. For a PR from a fork, which the workflow can't push to, the maintainer updates them after merging, and the workflow opens a PR against `dev` for that. Add a test there when you change how the widget behaves in a browser. +`e2e/tests/visual.spec.ts` compares screenshots of the main states, in light, dark and right-to-left, with the baselines in `e2e/screenshots/`. Fonts render differently on every OS, so the baselines are made on CI's Linux Chromium and the spec skips anywhere else, your machine included. When you change how the widget looks, a maintainer runs the "Update screenshots" workflow (Actions tab, Run workflow) on your branch. It commits the new images there. Look at them in the PR's Files tab: the diff is the review. GitHub doesn't run CI for a commit a workflow pushes, so the workflow starts CI on the branch itself. That run is under Actions, not on the PR. Check that it passed before merging. For a PR from a fork, which the workflow can't push to, the maintainer updates the images after merging. Run on `dev`, the workflow opens a PR with them, and that PR's CI waits for a maintainer to approve the run. Add a test there when you change how the widget behaves in a browser. ## Adding a new AI provider