Skip to content
Open
Show file tree
Hide file tree
Changes from 65 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
1e9645f
Fix random numbers on stories breaking visual regression
gabriellsh Feb 5, 2026
c0ce78f
setup visual regression config
gabriellsh Feb 5, 2026
cdd8527
generate snapshots
gabriellsh Feb 5, 2026
f2478e4
setup CI
gabriellsh Feb 5, 2026
4e2f976
remove unused dependency
gabriellsh Feb 5, 2026
24ec95a
.
gabriellsh Feb 5, 2026
99eb2c2
.
gabriellsh Feb 5, 2026
9e38c38
fix jest test match
gabriellsh Feb 6, 2026
bec0fae
fix turbo
gabriellsh Feb 6, 2026
ebf9066
Fix snapshot naming
gabriellsh Feb 6, 2026
2f1b333
fix: blank snapshots
gabriellsh Feb 6, 2026
d5fdbf7
remove test-results
gabriellsh Feb 6, 2026
daa5014
.
gabriellsh Feb 6, 2026
e8af4f2
pw cache
gabriellsh Feb 7, 2026
56050c5
upload test result artifacts
gabriellsh Feb 7, 2026
3546a28
fix reporter
gabriellsh Feb 9, 2026
40a809e
run pre-built packages
gabriellsh Feb 9, 2026
b672708
fix deps
gabriellsh Feb 9, 2026
7496b76
test upload
gabriellsh Feb 9, 2026
4783823
flag upload to always run
gabriellsh Feb 9, 2026
6b272b5
log fonts
gabriellsh Feb 9, 2026
2abed68
more strict screenshots and (chromium) rendering options
gabriellsh Feb 9, 2026
2969c02
use experimental comparator
gabriellsh Feb 9, 2026
d34e5b4
fix test file
gabriellsh Feb 9, 2026
57abc66
Go back to previous story name
gabriellsh Feb 9, 2026
9be25bb
test
gabriellsh Feb 9, 2026
9bc9630
Force Inter font test
gabriellsh Feb 10, 2026
9367b8f
remove font log
gabriellsh Feb 10, 2026
801f85d
remove crop
gabriellsh Feb 10, 2026
259a7f5
remove remote font from story wrapper
gabriellsh Feb 11, 2026
c71f478
update snapshots and add more flags
gabriellsh Feb 11, 2026
00f6063
always cache playwright
gabriellsh Feb 11, 2026
0a64c62
disable css font smoothing
gabriellsh Feb 11, 2026
65aabd9
return old smoothing behaviour
gabriellsh Feb 11, 2026
a1227bc
update snapshots from ubuntu docker
gabriellsh Feb 11, 2026
e1e046b
Start cleanup
gabriellsh Feb 12, 2026
4271ce6
Remove flags
gabriellsh Feb 12, 2026
5a626bc
Add flags back :P
gabriellsh Feb 12, 2026
da4cbb0
Fix ci-pr action
gabriellsh Feb 12, 2026
3203df1
disable-gpu
gabriellsh Feb 12, 2026
b35dc0d
dockerize visual tests
gabriellsh Feb 12, 2026
55ac092
Remove postinstall script (move to another pr later)
gabriellsh Feb 12, 2026
9750d7b
Update snapshots with new setup
gabriellsh Feb 12, 2026
2063c7e
test with husky install
gabriellsh Feb 12, 2026
4719fe1
Put visual regressions in a different job
gabriellsh Feb 12, 2026
90d030d
fix docker build step order
gabriellsh Feb 12, 2026
e9359b5
get just storybooks
gabriellsh Feb 12, 2026
d870baf
Split ci jobs
gabriellsh Feb 12, 2026
a0ab039
fix cache restore
gabriellsh Feb 12, 2026
f2f1c86
fix turbo cache restore
gabriellsh Feb 12, 2026
f60c903
Fix cache steps
gabriellsh Feb 16, 2026
08c64ab
Fix "invisible" Box layout stories
gabriellsh Feb 16, 2026
45a3fe4
remove "no-visual" tag
gabriellsh Feb 16, 2026
94d3888
Merge branch 'main' into chore/visualRegressionTesting
gabriellsh Feb 19, 2026
fe53bae
Split ci test to a separate command
gabriellsh Mar 3, 2026
f90b318
Merge remote-tracking branch 'origin' into chore/visualRegressionTesting
gabriellsh Mar 23, 2026
45aec06
rollback CI changes and simplify
gabriellsh Mar 23, 2026
7289825
Move tests to a package and simplify docker setup
gabriellsh Mar 23, 2026
505c2ee
Improve playwright cache
gabriellsh Mar 23, 2026
ca6c848
test success rule
gabriellsh Mar 23, 2026
13264c2
add names to uploads and another test
gabriellsh Mar 23, 2026
2b5dccc
fix visual regression action not running
gabriellsh Mar 23, 2026
df1b80d
remove scripts from visual-regression package
gabriellsh Mar 23, 2026
ee2a7a4
Cleanup
gabriellsh Mar 23, 2026
94a9ea7
Update snapshots
gabriellsh Mar 23, 2026
4746130
fix caret
gabriellsh Mar 23, 2026
c81d44b
Fix playwright cache
gabriellsh Mar 23, 2026
6381d3d
test with docker
gabriellsh Mar 23, 2026
172d772
Cleanup
gabriellsh Mar 24, 2026
7fca6a7
Fix inverted CI flag and use path.join
gabriellsh Mar 24, 2026
3032907
Remove playwright setup
gabriellsh Mar 24, 2026
b080479
Create afraid-glasses-juggle.md
gabriellsh Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 31 additions & 0 deletions .github/actions/setup-playwright/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Setup Playwright
description: Setup Playwright for the runner

runs:
using: 'composite'

steps:
- name: Cache Playwright binaries
uses: actions/cache/restore@v5
id: cache-playwright-restore
with:
path: |
~/.cache/ms-playwright
# This is the version of Playwright that we are using, if you are willing to upgrade, you should update this.
key: playwright-${{ runner.arch }}-${{ runner.os }}-1.58.2

- name: Install Playwright
id: install-playwright
shell: bash
if: steps.cache-playwright-restore.outputs.cache-hit != 'true'
working-directory: .
run: npx playwright install --with-deps

- name: Cache Playwright binaries
uses: actions/cache/save@v5
if: steps.install-playwright.outputs.success == 'true'
id: cache-playwright-save
with:
path: |
~/.cache/ms-playwright
key: playwright-${{ runner.arch }}-${{ runner.os }}-1.58.2
18 changes: 17 additions & 1 deletion .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,23 @@ jobs:
key: ${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
- run: yarn
if: steps.yarn-cache.outputs.cache-hit != 'true'
- run: yarn run ci
- name: Build, lint and test
id: build-lint-test
run: yarn run ci

- name: Setup Playwright
uses: ./.github/actions/setup-playwright

- name: Visual regression
id: visual-regression
run: yarn turbo run visual-regression --cache-dir=".turbo" --concurrency=1

- uses: actions/upload-artifact@v7
if: failure()
with:
name: playwright-visual-results
path: '**/test-results'

- run: yarn run docs
- uses: actions/upload-artifact@v7
with:
Expand Down
22 changes: 20 additions & 2 deletions .github/workflows/ci-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,26 @@ jobs:
turbo-${{ runner.os }}-
- run: yarn
if: steps.yarn-cache.outputs.cache-hit != 'true'
- run: yarn run ci
- uses: actions/upload-artifact@v7

- name: Build, lint and test
id: build-lint-test
run: yarn run ci

- name: Setup Playwright
uses: ./.github/actions/setup-playwright
- name: Visual regression
id: visual-regression
run: yarn turbo run visual-regression --cache-dir=".turbo" --concurrency=1

- name: Upload visual-regression results
uses: actions/upload-artifact@v7
if: failure()
with:
name: 'playwright-visual-results-${{ github.event.number }}'
path: '**/test-results'

- name: Upload storybooks
uses: actions/upload-artifact@v7
with:
name: 'storybooks-${{ github.event.number }}'
path: |
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ node_modules/
**/.storybook/jest-results.json
**/bundle-report.html
.env
**/playwright-report
**/test-results
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
"build": "yarn turbo run build",
"build-storybook": "yarn turbo run build-storybook --cache-dir=\".turbo\"",
"changeset": "changeset",
".ci-build-lint": "yarn turbo run build lint build-storybook --cache-dir=\".turbo\"",
".ci-test": "yarn turbo run test",
"ci": "yarn turbo run build lint test build-storybook --cache-dir=\".turbo\"",
"clean": "yarn workspaces foreach -vA run clean",
"docs": "yarn turbo run docs",
Expand Down
1 change: 1 addition & 0 deletions packages/fuselage/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
/dist
/storybook-static
/bundle-report*.html
/test-results
4 changes: 4 additions & 0 deletions packages/fuselage/jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ import type { Config } from 'jest';
export default {
preset: 'ts-jest',
testEnvironment: 'jsdom',
testMatch: [
'<rootDir>/src/**/*.spec.{ts,tsx}',
'!**/visualRegression.spec.ts',
],
setupFilesAfterEnv: [
'<rootDir>/jest-setup.ts',
'testing-utils/setup/noErrorsLogged',
Expand Down
3 changes: 3 additions & 0 deletions packages/fuselage/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
"/index.js"
],
"scripts": {
"visual-regression": "visual-regression",
"visual-regression-update": "visual-regression --update-snapshots",
"start": "webpack --watch --mode development",
"storybook": "storybook dev -p 6006 --no-version-updates",
"build": "run-s .:build:clean .:build:dev .:build:prod",
Expand Down Expand Up @@ -55,6 +57,7 @@
"@rocket.chat/fuselage-hooks": "workspace:~",
"@rocket.chat/icons": "workspace:~",
"@rocket.chat/storybook-dark-mode": "workspace:~",
"@rocket.chat/visual-regression": "workspace:~",
"@storybook/addon-a11y": "~9.1.17",
"@storybook/addon-docs": "~9.1.17",
"@storybook/addon-links": "~9.1.17",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading