From 04660bf7599824d8296126fe598af7205b9b6e43 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Wed, 12 Nov 2025 16:37:40 -0600 Subject: [PATCH 1/6] test(styled-react): add support for vrt --- .gitignore | 2 + package-lock.json | 68 ++++++++++++++ package.json | 1 + .../config/vitest/visual/global.css | 88 +++++++++++++++++++ .../config/vitest/visual/setup.ts | 14 +++ packages/styled-react/package.json | 1 + .../__tests__/Button.visual.test.tsx | 31 +++++++ .../styled-react/src/test-helpers/themes.ts | 31 +++++++ packages/styled-react/vitest.config.vrt.ts | 56 ++++++++++++ vitest.config.mts | 1 + 10 files changed, 293 insertions(+) create mode 100644 packages/styled-react/config/vitest/visual/global.css create mode 100644 packages/styled-react/config/vitest/visual/setup.ts create mode 100644 packages/styled-react/src/components/__tests__/Button.visual.test.tsx create mode 100644 packages/styled-react/src/test-helpers/themes.ts create mode 100644 packages/styled-react/vitest.config.vrt.ts diff --git a/.gitignore b/.gitignore index ce59f6f054a..a7ff2d95fed 100644 --- a/.gitignore +++ b/.gitignore @@ -50,6 +50,8 @@ results.json # Vitest **/__screenshots__/** +!**/__screenshots__/**/*-linux.png +**/.vitest-attachments/** # Turbo .turbo diff --git a/package-lock.json b/package-lock.json index cf4a50dec61..a7134c79c8f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,6 +34,7 @@ "@vitest/browser": "^4.0.3", "@vitest/browser-playwright": "^4.0.3", "@vitest/eslint-plugin": "^1.3.24", + "@vitest/ui": "^4.0.3", "babel-plugin-react-compiler": "^1.0.0", "eslint": "^9.39.1", "eslint-import-resolver-typescript": "3.7.0", @@ -9850,6 +9851,65 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/ui": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-4.0.3.tgz", + "integrity": "sha512-HURRrgGVzz2GQ2Imurp55FA+majHXgCXMzcwtojUZeRsAXyHNgEvxGRJf4QQY4kJeVakiugusGYeUqBgZ/xylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.0.3", + "fflate": "^0.8.2", + "flatted": "^3.3.3", + "pathe": "^2.0.3", + "sirv": "^3.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "4.0.3" + } + }, + "node_modules/@vitest/ui/node_modules/@vitest/pretty-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.3.tgz", + "integrity": "sha512-N7gly/DRXzxa9w9sbDXwD9QNFYP2hw90LLLGDobPNwiWgyW95GMxsCt29/COIKKh3P7XJICR38PSDePenMBtsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/ui/node_modules/@vitest/utils": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.3.tgz", + "integrity": "sha512-qV6KJkq8W3piW6MDIbGOmn1xhvcW4DuA07alqaQ+vdx7YA49J85pnwnxigZVQFQw3tWnQNRKWwhz5wbP6iv/GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.0.3", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/ui/node_modules/tinyrainbow": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", + "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@vitest/utils": { "version": "3.2.4", "dev": true, @@ -14581,6 +14641,13 @@ } } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, "node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -27870,6 +27937,7 @@ "@types/styled-components": "^5.1.26", "@vitejs/plugin-react": "^4.3.3", "babel-plugin-styled-components": "2.1.4", + "postcss-preset-primer": "^0.0.0", "publint": "^0.3.15", "react": "18.3.1", "react-dom": "18.3.1", diff --git a/package.json b/package.json index ad3d4244a05..9b0360cce21 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "@vitest/browser": "^4.0.3", "@vitest/browser-playwright": "^4.0.3", "@vitest/eslint-plugin": "^1.3.24", + "@vitest/ui": "^4.0.3", "babel-plugin-react-compiler": "^1.0.0", "eslint": "^9.39.1", "eslint-import-resolver-typescript": "3.7.0", diff --git a/packages/styled-react/config/vitest/visual/global.css b/packages/styled-react/config/vitest/visual/global.css new file mode 100644 index 00000000000..bfece00e01e --- /dev/null +++ b/packages/styled-react/config/vitest/visual/global.css @@ -0,0 +1,88 @@ +/* stylelint-disable selector-pseudo-class-no-unknown */ + +@import '@primer/primitives/dist/css/base/motion/motion.css'; +@import '@primer/primitives/dist/css/base/size/size.css'; +@import '@primer/primitives/dist/css/base/typography/typography.css'; +@import '@primer/primitives/dist/css/functional/size/border.css'; +@import '@primer/primitives/dist/css/functional/size/breakpoints.css'; +@import '@primer/primitives/dist/css/functional/size/size-coarse.css'; +@import '@primer/primitives/dist/css/functional/size/size-fine.css'; +@import '@primer/primitives/dist/css/functional/size/size.css'; +@import '@primer/primitives/dist/css/functional/size/viewport.css'; +@import '@primer/primitives/dist/css/functional/themes/dark-colorblind.css'; +@import '@primer/primitives/dist/css/functional/themes/dark-dimmed.css'; +@import '@primer/primitives/dist/css/functional/themes/dark-high-contrast.css'; +@import '@primer/primitives/dist/css/functional/themes/dark-tritanopia.css'; +@import '@primer/primitives/dist/css/functional/themes/dark.css'; +@import '@primer/primitives/dist/css/functional/themes/light-colorblind.css'; +@import '@primer/primitives/dist/css/functional/themes/light-high-contrast.css'; +@import '@primer/primitives/dist/css/functional/themes/light-tritanopia.css'; +@import '@primer/primitives/dist/css/functional/themes/light.css'; +@import '@primer/primitives/dist/css/functional/typography/typography.css'; + +* { + box-sizing: border-box; +} + +body { + color: var(--fgColor-default); + background-color: var(--bgColor-default); + font-family: var(--fontStack-system); + line-height: var(--text-body-lineHeight-large); + margin: 0; +} + +table { + /* stylelint-disable-next-line primer/borders */ + border-collapse: collapse; +} + +[data-color-mode='light'] input { + color-scheme: light; +} + +[data-color-mode='dark'] input { + color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + [data-color-mode='auto'][data-light-theme*='light'] { + color-scheme: light; + } +} + +@media (prefers-color-scheme: dark) { + [data-color-mode='auto'][data-dark-theme*='dark'] { + color-scheme: dark; + } +} + +[role='button']:focus:not(:focus-visible):not(:global(.focus-visible)), +/* stylelint-disable-next-line selector-max-specificity */ +[role='tabpanel'][tabindex='0']:focus:not(:focus-visible):not(:global(.focus-visible)), +button:focus:not(:focus-visible):not(:global(.focus-visible)), +summary:focus:not(:focus-visible):not(:global(.focus-visible)), +a:focus:not(:focus-visible):not(:global(.focus-visible)) { + outline: none; + box-shadow: none; +} + +[tabindex='0']:focus:not(:focus-visible):not(:global(.focus-visible)), +details-dialog:focus:not(:focus-visible):not(:global(.focus-visible)) { + outline: none; +} + +/* https://vitest.dev/guide/browser/visual-regression-testing.html#disable-animations */ +*, +*::before, +*::after { + animation-duration: 0s !important; + animation-delay: 0s !important; + transition-duration: 0s !important; + transition-delay: 0s !important; +} + +[data-testid='screenshot'] { + display: inline-flex; + padding: 1rem; +} diff --git a/packages/styled-react/config/vitest/visual/setup.ts b/packages/styled-react/config/vitest/visual/setup.ts new file mode 100644 index 00000000000..7a36d76957b --- /dev/null +++ b/packages/styled-react/config/vitest/visual/setup.ts @@ -0,0 +1,14 @@ +import {beforeEach} from 'vitest' +import './global.css' +import {updateGlobalTheme} from '../../../src/test-helpers/themes' + +// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope +document.documentElement.setAttribute('data-color-mode', 'auto') +// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope +document.documentElement.setAttribute('data-light-theme', 'light') +// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope +document.documentElement.setAttribute('data-dark-theme', 'dark') + +beforeEach(() => { + updateGlobalTheme('light') +}) diff --git a/packages/styled-react/package.json b/packages/styled-react/package.json index 252f4986a42..94a12fab88d 100644 --- a/packages/styled-react/package.json +++ b/packages/styled-react/package.json @@ -50,6 +50,7 @@ "@types/styled-components": "^5.1.26", "@vitejs/plugin-react": "^4.3.3", "babel-plugin-styled-components": "2.1.4", + "postcss-preset-primer": "^0.0.0", "publint": "^0.3.15", "react": "18.3.1", "react-dom": "18.3.1", diff --git a/packages/styled-react/src/components/__tests__/Button.visual.test.tsx b/packages/styled-react/src/components/__tests__/Button.visual.test.tsx new file mode 100644 index 00000000000..bc131926f9c --- /dev/null +++ b/packages/styled-react/src/components/__tests__/Button.visual.test.tsx @@ -0,0 +1,31 @@ +import {render} from '@testing-library/react' +import {describe, test, expect} from 'vitest' +import {page} from 'vitest/browser' +import {ButtonComponent as Button} from '../Button' +import {themes, updateGlobalTheme} from '../../test-helpers/themes' + +describe('Button', () => { + test.each(themes)('color with sx prop (%s) @vrt', async theme => { + updateGlobalTheme(theme) + + render( +
+ +
, + ) + + await expect(page.getByTestId('screenshot')).toMatchScreenshot() + }) + + test.each(themes)('font size with sx prop (%s) @vrt', async theme => { + updateGlobalTheme(theme) + + render( +
+ +
, + ) + + await expect(page.getByTestId('screenshot')).toMatchScreenshot() + }) +}) diff --git a/packages/styled-react/src/test-helpers/themes.ts b/packages/styled-react/src/test-helpers/themes.ts new file mode 100644 index 00000000000..9f3feb127bf --- /dev/null +++ b/packages/styled-react/src/test-helpers/themes.ts @@ -0,0 +1,31 @@ +const lightThemes = ['light', 'light_high_contrast', 'light_colorblind', 'light_tritanopia'] as const + +type LightTheme = (typeof lightThemes)[number] + +const darkThemes = ['dark', 'dark_dimmed', 'dark_high_contrast', 'dark_colorblind', 'dark_tritanopia'] as const + +type DarkTheme = (typeof darkThemes)[number] + +const themes = [...lightThemes, ...darkThemes] + +type Theme = (typeof themes)[number] + +type ColorMode = 'light' | 'dark' | 'auto' + +type ThemeOptions = { + colorMode?: ColorMode + lightTheme?: LightTheme + darkTheme?: DarkTheme +} + +function updateGlobalTheme(theme: Theme) { + if (lightThemes.includes(theme as LightTheme)) { + document.documentElement.setAttribute('data-color-mode', 'light') + document.documentElement.setAttribute('data-light-theme', theme) + } else { + document.documentElement.setAttribute('data-color-mode', 'dark') + document.documentElement.setAttribute('data-dark-theme', theme) + } +} + +export {themes, updateGlobalTheme} diff --git a/packages/styled-react/vitest.config.vrt.ts b/packages/styled-react/vitest.config.vrt.ts new file mode 100644 index 00000000000..1bd253d1fa7 --- /dev/null +++ b/packages/styled-react/vitest.config.vrt.ts @@ -0,0 +1,56 @@ +import path from 'node:path' +import react from '@vitejs/plugin-react' +import {playwright} from '@vitest/browser-playwright' +import {defineConfig} from 'vitest/config' +import postcssPresetPrimer from 'postcss-preset-primer' + +export default defineConfig({ + css: { + modules: { + generateScopedName: 'prc-[folder]-[local]-[hash:base64:5]', + }, + postcss: { + plugins: [postcssPresetPrimer()], + }, + }, + plugins: [react()], + define: { + __DEV__: true, + }, + resolve: { + alias: [ + { + find: '@primer/react/experimental', + replacement: path.resolve(import.meta.dirname, '..', 'react', 'src', 'experimental', 'index.ts'), + }, + { + find: '@primer/react/deprecated', + replacement: path.resolve(import.meta.dirname, '..', 'react', 'src', 'deprecated', 'index.ts'), + }, + { + find: '@primer/react', + replacement: path.resolve(import.meta.dirname, '..', 'react', 'src', 'index.ts'), + }, + ], + }, + test: { + name: '@primer/styled-react (vrt)', + include: ['src/**/*.visual.test.?(c|m)[jt]s?(x)'], + setupFiles: ['config/vitest/browser/setup.ts', 'config/vitest/visual/setup.ts'], + browser: { + provider: playwright(), + enabled: true, + headless: process.env.DEBUG_BROWSER_TESTS === 'true' ? false : true, + instances: [ + { + browser: 'chromium', + viewport: { + width: 320, + height: 320, + }, + }, + ], + screenshotFailures: false, + }, + }, +}) diff --git a/vitest.config.mts b/vitest.config.mts index 56ca8d03eb7..1a1b400f201 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -7,6 +7,7 @@ export default defineConfig({ 'packages/*/vitest.config.mts', 'packages/*/vitest.config.browser.ts', 'packages/*/vitest.config.browser.mts', + 'packages/*/vitest.config.vrt.ts', ], }, }) From 5edfa385d45baeda9cd7512ece13c0422526d653 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Wed, 12 Nov 2025 16:55:13 -0600 Subject: [PATCH 2/6] test: add support for checking in screenshots from linux --- .gitignore | 2 +- ...with-sx-prop-dark-vrt-1-chromium-linux.png | Bin 0 -> 1386 bytes ...p-dark_colorblind-vrt-1-chromium-linux.png | Bin 0 -> 1386 bytes ...-prop-dark_dimmed-vrt-1-chromium-linux.png | Bin 0 -> 1302 bytes ...ark_high_contrast-vrt-1-chromium-linux.png | Bin 0 -> 1471 bytes ...p-dark_tritanopia-vrt-1-chromium-linux.png | Bin 0 -> 1386 bytes ...ith-sx-prop-light-vrt-1-chromium-linux.png | Bin 0 -> 1574 bytes ...-light_colorblind-vrt-1-chromium-linux.png | Bin 0 -> 1572 bytes ...ght_high_contrast-vrt-1-chromium-linux.png | Bin 0 -> 1601 bytes ...-light_tritanopia-vrt-1-chromium-linux.png | Bin 0 -> 1572 bytes ...with-sx-prop-dark-vrt-1-chromium-linux.png | Bin 0 -> 3159 bytes ...p-dark_colorblind-vrt-1-chromium-linux.png | Bin 0 -> 3159 bytes ...-prop-dark_dimmed-vrt-1-chromium-linux.png | Bin 0 -> 3120 bytes ...ark_high_contrast-vrt-1-chromium-linux.png | Bin 0 -> 3187 bytes ...p-dark_tritanopia-vrt-1-chromium-linux.png | Bin 0 -> 3159 bytes ...ith-sx-prop-light-vrt-1-chromium-linux.png | Bin 0 -> 3204 bytes ...-light_colorblind-vrt-1-chromium-linux.png | Bin 0 -> 3202 bytes ...ght_high_contrast-vrt-1-chromium-linux.png | Bin 0 -> 3215 bytes ...-light_tritanopia-vrt-1-chromium-linux.png | Bin 0 -> 3202 bytes packages/styled-react/vitest.config.ts | 2 +- script/test-vrt | 20 ++++++++++++++++++ 21 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_colorblind-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_dimmed-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_tritanopia-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_colorblind-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_dimmed-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_tritanopia-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png create mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png create mode 100755 script/test-vrt diff --git a/.gitignore b/.gitignore index a7ff2d95fed..df72165e4a9 100644 --- a/.gitignore +++ b/.gitignore @@ -49,7 +49,7 @@ results.json *.module.css.d.ts # Vitest -**/__screenshots__/** +**/__screenshots__/**/*.png !**/__screenshots__/**/*-linux.png **/.vitest-attachments/** diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..cded661a5b19cf6acd97852ea82fea7d500e86d7 GIT binary patch literal 1386 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 literal 0 HcmV?d00001 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5c3daf6f4863f19863c927cd4be4d618e5e6ba GIT binary patch literal 1471 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 literal 0 HcmV?d00001 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..48e36e8d6cbfa2bb1cc165a157aad8de6546156e GIT binary patch literal 1572 zcmZvddpr|*6u=h~h9*-Ul^&Q$X-sP?g&5oN-h31;qEc*m3?XtyCKB=(jeT-4k5!)8BI`P6i~D$o#4q;h`(=^E=hd`>(vXfgyT=R0T3bBy_wNhPj*qHkgSm~Ss!Fv7%rH1A5*p%j zj+UMQuEJK0IkU}8b_3%heNwiM2`S|Y7<+{0?u7K*cU_h<<7ujpFpSL&XMx0xw;xV_;ghsVm zAR@e`Y^9{l6Uiz*si|$-eT2hmlhkaC-O}xw3FWY^y(afCFSTqH@~BJ`tZ^ghTI=l? z-@h)Qqp0)8P4t#KOacsNVaR*H4%w`ow+AD3SahuVrp~@No zbrnHAs!cjxl<6xco|kewWE?nLJ(WJM)-Chg0seA2ZKA$-ps%n=1@jY@6DS|+z0kfP zf8y{B^v#Os7LMKvnIo9_Kx#$y$tI?pQDgs@q_IlFJDj1+3QcWu?M2r-E`vC6UC*n_ zYVZ*sxhq^e7B#1^m>hTPj~jPaA?oY8EbBbmQ7&vR@WM!tgST(iWCN%Fu4LORrxQY) zDEM}kpl!=}sc9$}iERqxM?<--WXCs1$Wc+z&B>SWlK!i%mdX6+N-dN;kNkW1Zkg(L zN-G2Gdl3{`6_x}Mp-e*|v(g=?G}inHnJ}$4mr>tidrG7De@L3T zYY`mDLf9?6he5WE&CIgH(BBrvje_i(nM?2Z%x16Htebsu*p3K^{JM}FJniPsa@SV!L>mtEcRhM6T;6?t8JumoPwU|P>%){Y zkrRnO?ZCCY2Ou4y#kQ|Q!SxMmBHo_DK)z0W$gp>KQ1>U%VEe4>s5o(%XD#{rw;u{1 z6C^2Y=J5!GbZOEp7Ur~+2XiT*6JRu{!A_Jk_829ss@z4mCg#2zX7{T8A3PCQoZU$C zDAXi`0W+2Fd@iqIKpkA+;tD;M#bZavA%Kg_b+EjJL}w5g5e+KUz%7MosVZehkiUz2 z{}w;nO0zTC`NWiJ?}@+1?LS@hysJlQG;S}a!IBSp+~|%$IeP)rdLDA{5C)$?$h7{N zaGZ$2>pHVCG>it$QHtqupn<47Hp~>H36iYDX|I(HDE7lufIs7U4Dj}x)ATg*+l#^K y{kAI90tHj!wekT&Q)5qjGdSnhwEQJT#csk)ANOC56#sh<062`RL*2>1lz#x{R{1ml literal 0 HcmV?d00001 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..3549c27c7f88eec17c6b449f6f9b46f8997ff904 GIT binary patch literal 1601 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 literal 0 HcmV?d00001 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..72ed143564b58cb0e0b2135b3fbd81117dd25ed9 GIT binary patch literal 3159 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 literal 0 HcmV?d00001 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ad32ea0f27ed9d3df46a13b01e08d7a834423de7 GIT binary patch literal 3202 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 literal 0 HcmV?d00001 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..11d8cbcc143d59ad9745df391202dbd68f4993f4 GIT binary patch literal 3215 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 literal 0 HcmV?d00001 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ad32ea0f27ed9d3df46a13b01e08d7a834423de7 GIT binary patch literal 3202 zcmbW4`8SkrAIFKZN0!LG?;+WVXR`0xFj*2YBWq))$k%S{W-J*)*)q)(iD9gTNXEWI zLIzRf%b2F@J$L`W^TYGQeP7qP&vmZzKA-dXyx#8{;b3RZ!79i~M@PqDX<_07tOVfs z5Ay}!?a8jiKu5=JX=wri$I|cg#zp4*?t4qwH5k8+@IzXpnjl>>vu@S2gnsF9`KdUS z<`7C~Gj*ADw+i9_adq&!5N=x&R3*Q;c!GDV1dEsn&`F^{S)?UQ5;YROOMQ<)t!0L6 z+~A3L^dx_fa)&vYzmSVjRZ4={%j_msS5B&U>=hQ!o;r8(3RIf0mt?`5T>3u`$P*nM z5r}H;>)KcO=7Xad$##BjedBW(dLVj6rtfh6^V)}NX!`Ocki$Plw5=JlLMU+Lg_clB zmQ|K5%to6OCvCtRQvgpfYT#R)xW~-KVYUfjGcCE4+Ue+brQ*)jK4W9J&dQg>%c~bz zRTNb;ePiaI^K;wSBIog(y6x=;2L}aVKh<1h?4NwtxN7v&y%WZF)uZ+8ZP>FBnD3D+ z7!PR>H|){uTbkuySv}&A8mNOMGei+@_L`;*)XiLEeS5p%vL|%+>=dIDhg`&XHf(bg z6%}#u@|sw{)yQOWWZYS!bmVrHUA^(1sGiZCPyt&;rY(3{a<(#G@j)PgI2^3i>`j)` zsttJ;NC?MQS4(DPWf3u`{=z$te3rZN()0nQR)$T?k`Io(muYW@6v?R-5jkRQgjue)GJ&>B??DD73J=+}xsq3q3GE zS?AgLwxm?(P6(ukD_>?yxxgu*w9StDZT{x{+oaQWh(hy5LF+YnJ zj8oOsZ7(V=zQi+~>3{Y+z$@{kn1qA`mX($DR@);6^L%JQX=#SC(hMhOjdOh-yU>x! zYh`B<{Os^@_p#1C$uT@U;^6c*+t6zhFqn5|p;bnrO8+WayGGVw?qe$T$``ZxX|kP}FU$0^aqr#b1aK5#MG?Z*@Y;WTT-l>1d42tPRh>eo^WD|AkN zK4)d^3dlU~B-wdfR5jwwxpU{>+MP>d$7_b-*Qq);S}yoRZr=JX_#xHo3$zQyz%lC8!9a9+qp=ApJ^j@717p_V*X8GiivS9EHuSbQIHy&^a30a$(o{x(=j6XWu#OR_%OApzd! zENt}=`Mrua&HmIH!i3|$W8=NhqF})6Rv5O><106fs-IG7l5gT+FMMx2e>iuh0Enz9)U2Q$eW{;q2hRrJ1zsy%KJB5eEwk zOHKb+rAOVUyW8ykoJY_KxH;x;caESnnP#061IFdVMop2@i&bmQB3QfA%p+bt{+b8> zwr>(EhBBEkR#w(nMX5CiFo3w!(4~n$0(i4&FgIZ4l>|W96LguS+b7$T)6+dh7EVXM zH1x(|`P`rTy1PZPr+!DBiJiPM=&`q?qv5~^9?e1nc zgZ-r2*0#5^&1yi&^o@^r}PYaG}=H#q@Kv^^a>bXqB=WyPeVueVyH{7@}PnYR7*jj zxg9ds;8hpbtYZM`Gp?=?T8TV6IS;f;cb53sRou)>++!PA3~UVDAJtu%VVYK# z%mh_Y>UZWfkXBUBdO+I(cnE+J=u%s}>s5-hk&zKbQAsJx1qzknsHq8G7N;v)nf~xVV%LFKDmbv29?jAUR0lOSQ-^kd)7#s@m z$jMQbzcopZTlAuM4V0CYbLy;nVC&dx0_+!Z2DzP_V9l`68J!kKPr3Z|%>FiIBZ*O1Yd`ldgVz-yQ z`+^y+X8OAY+5o}t^)0V6VV~j&s~uT=FVNaV4{euYEUG@T|rGrS=sc9;|8`C z7R-Od;u8|et}CU@9n*Zb^FQl^?MnmXXJllY&}d~DE!SR4tbCBw8X~p{(#Xk!?bou{ zSXU;E!hCiFrLS<5F#>c_X zW=ee(Gj%i^2(Za;Z6Is``-boLS6=C3#RPMdNkpq&j`;YN)HFs%_h{5AH%|$xl2)e( zh{)rH+@m=%@Bfx^fUv!E?G@o&{Obik)D;uE+M7fVL^I)wOv!LL!Q2a$$O0&fTS*v@ oosrNhZY7r(?UDa?Mn7X1Y7H{~Bkt%A{9Djjn%bE(-1JWVFJNRK+yDRo literal 0 HcmV?d00001 diff --git a/packages/styled-react/vitest.config.ts b/packages/styled-react/vitest.config.ts index 3b3a6e4c3d0..fef73223966 100644 --- a/packages/styled-react/vitest.config.ts +++ b/packages/styled-react/vitest.config.ts @@ -4,6 +4,6 @@ export default defineConfig({ test: { name: '@primer/styled-react (node)', environment: 'node', - exclude: ['src/**/*.browser.test.?(c|m)[jt]s?(x)'], + exclude: ['src/**/*.browser.test.?(c|m)[jt]s?(x)', 'src/**/*.visual.test.?(c|m)[jt]s?(x)'], }, }) diff --git a/script/test-vrt b/script/test-vrt new file mode 100755 index 00000000000..d24bf2097df --- /dev/null +++ b/script/test-vrt @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +PLAYWRIGHT_VERSION=$(npm --json list @playwright/test | jq --raw-output '.dependencies["@playwright/test"].version') + +if [ -z "$PLAYWRIGHT_VERSION" ]; then + echo "Unable to find Playwright version. Make sure @playwright/test is installed." + exit 1 +fi + +echo "Using Playwright version $PLAYWRIGHT_VERSION" + +docker run --rm \ + --network host \ + -v $(pwd):/workspace \ + -w /workspace \ + -it "mcr.microsoft.com/playwright:v$PLAYWRIGHT_VERSION-jammy" \ + /bin/bash -c "npm install && npx vitest --project '@primer/styled-react (vrt)' --run $@" + From 897efaca4999c55f0a798c7484416360d52c1ef9 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Thu, 13 Nov 2025 10:39:50 -0600 Subject: [PATCH 3/6] ci: exclude vrt project from regular test --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6a1a9d0f8b..6ec603beece 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,7 +82,7 @@ jobs: - name: Run tests defined in vitest uses: docker://mcr.microsoft.com/playwright:v1.55.0-jammy with: - args: npm test + args: npm test -- --project '!@primer/styled-react (vrt)' continue-on-error: ${{ matrix.react-version == 'react-19' }} type-check: From ebd58ef3acae7a9dfb5ca271f8160af738c2b166 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Tue, 18 Nov 2025 12:47:05 -0600 Subject: [PATCH 4/6] test: switch to upload snapshots flow --- .github/workflows/vrt-upload-snapshots.yml | 51 ++++++++++++++++++ .gitignore | 1 - ...with-sx-prop-dark-vrt-1-chromium-linux.png | Bin 1386 -> 0 bytes ...p-dark_colorblind-vrt-1-chromium-linux.png | Bin 1386 -> 0 bytes ...-prop-dark_dimmed-vrt-1-chromium-linux.png | Bin 1302 -> 0 bytes ...ark_high_contrast-vrt-1-chromium-linux.png | Bin 1471 -> 0 bytes ...p-dark_tritanopia-vrt-1-chromium-linux.png | Bin 1386 -> 0 bytes ...ith-sx-prop-light-vrt-1-chromium-linux.png | Bin 1574 -> 0 bytes ...-light_colorblind-vrt-1-chromium-linux.png | Bin 1572 -> 0 bytes ...ght_high_contrast-vrt-1-chromium-linux.png | Bin 1601 -> 0 bytes ...-light_tritanopia-vrt-1-chromium-linux.png | Bin 1572 -> 0 bytes ...with-sx-prop-dark-vrt-1-chromium-linux.png | Bin 3159 -> 0 bytes ...p-dark_colorblind-vrt-1-chromium-linux.png | Bin 3159 -> 0 bytes ...-prop-dark_dimmed-vrt-1-chromium-linux.png | Bin 3120 -> 0 bytes ...ark_high_contrast-vrt-1-chromium-linux.png | Bin 3187 -> 0 bytes ...p-dark_tritanopia-vrt-1-chromium-linux.png | Bin 3159 -> 0 bytes ...ith-sx-prop-light-vrt-1-chromium-linux.png | Bin 3204 -> 0 bytes ...-light_colorblind-vrt-1-chromium-linux.png | Bin 3202 -> 0 bytes ...ght_high_contrast-vrt-1-chromium-linux.png | Bin 3215 -> 0 bytes ...-light_tritanopia-vrt-1-chromium-linux.png | Bin 3202 -> 0 bytes 20 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/vrt-upload-snapshots.yml delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_colorblind-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_dimmed-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_tritanopia-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_colorblind-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_dimmed-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark_tritanopia-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png delete mode 100644 packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png diff --git a/.github/workflows/vrt-upload-snapshots.yml b/.github/workflows/vrt-upload-snapshots.yml new file mode 100644 index 00000000000..8a73f76deee --- /dev/null +++ b/.github/workflows/vrt-upload-snapshots.yml @@ -0,0 +1,51 @@ +name: Visual Regression Snapshots + +on: + workflow_dispatch: + push: + branches: + - 'main' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + pull-requests: write + actions: write + +jobs: + snapshots-runner: + runs-on: ubuntu-latest + strategy: + fail-fast: false + shard: [1, 2] + steps: + - name: Checkout repository + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 + - name: Set up Node.js + uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 + with: + node-version-file: '.nvmrc' + cache: 'npm' + - name: Set up turbo cache + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 + with: + path: .turbo + key: ${{ runner.os }}-turbo-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-turbo- + - name: Install dependencies + run: npm ci + - name: Build + run: npm run build + - name: Run tests defined in vitest + uses: docker://mcr.microsoft.com/playwright:v1.55.0-jammy + with: + args: npx vitest --project '@primer/styled-react (vrt)' --update --shard="${{ matrix.shard }}/${{ strategy.job-total }}" + - name: Upload images + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 + with: + name: vrt-snapshots-${{ strategy.shard }} + path: '**/__screenshots__/**/*-linux.png' diff --git a/.gitignore b/.gitignore index df72165e4a9..b72ff0bbe44 100644 --- a/.gitignore +++ b/.gitignore @@ -50,7 +50,6 @@ results.json # Vitest **/__screenshots__/**/*.png -!**/__screenshots__/**/*-linux.png **/.vitest-attachments/** # Turbo diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark-vrt-1-chromium-linux.png deleted file mode 100644 index cded661a5b19cf6acd97852ea82fea7d500e86d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1386 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 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-dark_high_contrast-vrt-1-chromium-linux.png deleted file mode 100644 index cc5c3daf6f4863f19863c927cd4be4d618e5e6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1471 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 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png deleted file mode 100644 index 48e36e8d6cbfa2bb1cc165a157aad8de6546156e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1572 zcmZvddpr|*6u=h~h9*-Ul^&Q$X-sP?g&5oN-h31;qEc*m3?XtyCKB=(jeT-4k5!)8BI`P6i~D$o#4q;h`(=^E=hd`>(vXfgyT=R0T3bBy_wNhPj*qHkgSm~Ss!Fv7%rH1A5*p%j zj+UMQuEJK0IkU}8b_3%heNwiM2`S|Y7<+{0?u7K*cU_h<<7ujpFpSL&XMx0xw;xV_;ghsVm zAR@e`Y^9{l6Uiz*si|$-eT2hmlhkaC-O}xw3FWY^y(afCFSTqH@~BJ`tZ^ghTI=l? z-@h)Qqp0)8P4t#KOacsNVaR*H4%w`ow+AD3SahuVrp~@No zbrnHAs!cjxl<6xco|kewWE?nLJ(WJM)-Chg0seA2ZKA$-ps%n=1@jY@6DS|+z0kfP zf8y{B^v#Os7LMKvnIo9_Kx#$y$tI?pQDgs@q_IlFJDj1+3QcWu?M2r-E`vC6UC*n_ zYVZ*sxhq^e7B#1^m>hTPj~jPaA?oY8EbBbmQ7&vR@WM!tgST(iWCN%Fu4LORrxQY) zDEM}kpl!=}sc9$}iERqxM?<--WXCs1$Wc+z&B>SWlK!i%mdX6+N-dN;kNkW1Zkg(L zN-G2Gdl3{`6_x}Mp-e*|v(g=?G}inHnJ}$4mr>tidrG7De@L3T zYY`mDLf9?6he5WE&CIgH(BBrvje_i(nM?2Z%x16Htebsu*p3K^{JM}FJniPsa@SV!L>mtEcRhM6T;6?t8JumoPwU|P>%){Y zkrRnO?ZCCY2Ou4y#kQ|Q!SxMmBHo_DK)z0W$gp>KQ1>U%VEe4>s5o(%XD#{rw;u{1 z6C^2Y=J5!GbZOEp7Ur~+2XiT*6JRu{!A_Jk_829ss@z4mCg#2zX7{T8A3PCQoZU$C zDAXi`0W+2Fd@iqIKpkA+;tD;M#bZavA%Kg_b+EjJL}w5g5e+KUz%7MosVZehkiUz2 z{}w;nO0zTC`NWiJ?}@+1?LS@hysJlQG;S}a!IBSp+~|%$IeP)rdLDA{5C)$?$h7{N zaGZ$2>pHVCG>it$QHtqupn<47Hp~>H36iYDX|I(HDE7lufIs7U4Dj}x)ATg*+l#^K y{kAI90tHj!wekT&Q)5qjGdSnhwEQJT#csk)ANOC56#sh<062`RL*2>1lz#x{R{1ml diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-color-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png deleted file mode 100644 index 3549c27c7f88eec17c6b449f6f9b46f8997ff904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1601 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 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-dark-vrt-1-chromium-linux.png deleted file mode 100644 index 72ed143564b58cb0e0b2135b3fbd81117dd25ed9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3159 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 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_colorblind-vrt-1-chromium-linux.png deleted file mode 100644 index ad32ea0f27ed9d3df46a13b01e08d7a834423de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3202 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 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_high_contrast-vrt-1-chromium-linux.png deleted file mode 100644 index 11d8cbcc143d59ad9745df391202dbd68f4993f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3215 zcmaJ^X*iT!A1AUD@}NkT7R!u1rZF;+Xe<-ivhT|nlWk10Jw_z^IubLsj9r#26AEP= zD$Cdv6=N&Pz7^xW`}%%(KHTTNuXCO2T<8A(f7^*OHqzxjC47pBiHTcZPsbE^Q-J3t z2OBWjaY0#_n7AzTb+pWbn18m1T0IRQzuQ=A+2ZMaq(TNYMU*|dROIP_EEdo*+n_-| zw|IT(L!yE=33J8f4@P#PBcA8cHwe!%Z@h7@zU*K@b2GVfn@c~6?`eYU!XuR{yfCge zYvNmQxW=6KBK+~zp@#Uq&bOC16m)L!+9gI^Y!c$s^1I3x`OQUwwY^)9BQhb4msRiz zumJI&3+OkcjZl93lh{)U)vgc{ZxlOiC4e>Hhu+8M%sRVC?@Zi8B(O8bre?OfZf@Z{ zNn5(5BbPYNxF{1rVDN%C(c?g4PkBT$NKiM`?@?F4g*1pyqUay?j?T`Z?+-XSI+q_@ z2fl;;{KQ&aFqb&mLy2hh7*X${jLmGRld4~f)QB)VTvAdJJv|KzTINlvic4AQo$UmT zdr#g(qe01a&`S}cqvitoeSJ|+Vy?iaWB+;UN=?rFHycZ0)aW>!Ij=6t2o*jmB>O$x z-1Jwzo4*(%?hghl%#O>m1pdm}*u=y+)D(Juez={qs%vg8U{iIjJz#rz>T##;@ba+% z>uzeT8I9udg=d}WFg7;k_4#!M3pLjgjw9B72Mw>72PnF*n{DAmeNsV&~>uyx^@Z99&%U#IJDe z6{vSvW#v1+5AW`3GGb|N^FH>X>Vd1zD;pBkwid}WbdY%=HPLxH>ncZof^ABXPZ>tkXw9ZSBr%$odPSN3p>Lp5b(Bdnxi$}qvyhBC}A z!q>5NBhLf<(RkXn;hX;G*tjxq>}tE_NSDp|J)vtTNQw;jY8p`5=aZR)NCX}6o)MPw zzV~@kQxu6Le1b)NeGaLpJeQ<8v|?M(WQ|XM8uq8RE!EJ|lapXmV*mNocHDAjc$0R6<*@U^d6}wiO*rI3XwTV2RnK%45oS5uiKPXU3#gd2IR`h!~@)- zi*h!)a(O^BK0dyzvI*F3YC466c5A1Kr|0JnwtkdSIeGHr>cQ{(Y}{fW6NxHV9Ilh- zmIGQj4EFjvMc>@s?xIy%$Rf{C)6&x)lLObjwCoQf_YV$CoXftM{*oL{7A>r+BXlR6 z`{#Jd?0zF-fLfb`}(y0nbIUYNti=>^$rPz?EL5+zN^`dq10)p5e;o$t%F|q ze(u?5fC#X#@yr)a)d%rmD8kwN(nd<559PF@dxo-7QqHWs-4l!V&iC#7j3bl`((JZPRud=O&su6>6i>c}9oz3-2 zFzg}BghqoUM5RwRnM4~d4di+%n4T$e+Hw>(qT_$xM(_!UM3I3)k;#|Eq^@1duvZTx z#|9m^FAikK7!-FnXlZG2ofqzGjf{*OTG<9+?uWb2_o{O8@GLsq2x)s{XzdA3x_9qh zZRmu8KwDeeojm0yf70BEo+>4-=_FFTN*_$$(2yG{Z~Ll9t*lJR*v>BTG7QG*>+4IZ zb8;3L4>?`c(n?#|f%ldtauN9WOWNZU;w^vg((#A? zes*?+el4g?5L7g^v`ip}n?r+A2%OXTQSe1NEG z9_{l(8O($07nzwEtPfXX9cq@eHWijOO5Ks3X!J!$r7SX2Ui+E5NU^pPJ85o~cH)Aj zqvkJa|BPsc!4qVRtzQMuL`xDi$^f$Vvy#U$ReI2@|z|3Go-PjY+Q*^5bTAs&-Z~Iw$m3Rj(FOjoMnQ){oPSOhJ?b|-m z_jNT`&+k<6nO$C0JkIoRyo@?(_{WWt0D0T+9um_b8?W7K>W|6m*AF=jM67j`~g2k<6>hu1T0=;6zAg&uvpHN%d)Zw z8L}2+<8t#BHGhHKVGQNL$~bp-m2KlbW9~MoE?^6_*wv#f4SkkE)C^Pz2%vyU26OuA2Q?C|{FUJBfR%BRd-u9q0f=Fxw$%U9 z0`T)K(C^(9>dOfSZ4+ygzV{g)JO?1c#0@&NP>GZ%Az57v)|_9gb2;!oCvVs5v2ouI zke98E4d;H+HM#wHen7C4vOiWD>N!yb9f#B}pIEb~GKN5`z%s9Urq=1Nt(Mqt>}|eOrTIl|ZDQT~ocuuH;1%U& zrT$>)n3aiY?CzWTe|IL{D*KOuNG~ke&!CPOM*;!@esKAu_wP@+xI_cP9*v-spt>n-UWqv8c4x$?=;#(>&)aO&zl5L~^{?H`>w#N~pPX$QiF%0o4PKw6D z_6-fVn4X^A#h;T`0iXZ6I@PHfy6ac7!7rt}K4uv#0+6{I$>?P_D>1hHBWv5}Rp2q0 z#~KqgB%)8~B1N$h(h0DK+n_1Iy1us5{-fo95L9>1aJiXuj(!PoeRmi2&`YimkurN{ z(Np2rk9a}#z0$O@vAtPRe!e(^!FaIDs~3|TvHfF*FCs3ay)ORtNPgyZz>+>I>%L0ZZ^#^-UJm$W-<+h^r@Hf17D(Lu z>}-3>!4`nbZvblC-Bm$gg&x2XOv^dAR`s?YfgJwKtOSLG%z0Hrhj;Q^p&DIQ@L|55 z%cJ!&2C&QTbqoJeaI(9pFU_dQqCn2P&AWQf&h*w&a>OLE!{{-)4k2LnM5I$q<(8lj zTnLxcknD(c}?*jI3lWFK%yka^v z6Ev_=swMk2Jwu~)2n~TnCbE>7%fR7qA)%R+vfj*En<}d+3)WdJ3H@6HiBZfoz`%6V suoo#dNj6mo-W>h^%;EnP)DHw_iC#)XCO=!?qQRtp+eoMSmQ&>a0QX5LRsaA1 diff --git a/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png b/packages/styled-react/src/components/__tests__/__screenshots__/Button.visual.test.tsx/Button-font-size-with-sx-prop-light_tritanopia-vrt-1-chromium-linux.png deleted file mode 100644 index ad32ea0f27ed9d3df46a13b01e08d7a834423de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3202 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 From 453b270ef641c0d08696b1a07dc21dfdd04c828a Mon Sep 17 00:00:00 2001 From: Josh Black Date: Tue, 18 Nov 2025 12:48:15 -0600 Subject: [PATCH 5/6] ci: update matrix strategy --- .github/workflows/vrt-upload-snapshots.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/vrt-upload-snapshots.yml b/.github/workflows/vrt-upload-snapshots.yml index 8a73f76deee..07ac9d09b30 100644 --- a/.github/workflows/vrt-upload-snapshots.yml +++ b/.github/workflows/vrt-upload-snapshots.yml @@ -12,15 +12,14 @@ concurrency: permissions: contents: read - pull-requests: write - actions: write jobs: snapshots-runner: runs-on: ubuntu-latest strategy: fail-fast: false - shard: [1, 2] + matrix: + shard: [1, 2] steps: - name: Checkout repository uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 From 76968bca1d9eb4f6b7f3fb779892698ec5da7e06 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Tue, 18 Nov 2025 12:52:22 -0600 Subject: [PATCH 6/6] pls work