diff --git a/.github/workflows/visual-regression.yml b/.github/workflows/visual-regression.yml index c32b187ae0e..b295678f4c5 100644 --- a/.github/workflows/visual-regression.yml +++ b/.github/workflows/visual-regression.yml @@ -118,6 +118,26 @@ jobs: CI: true PLAYWRIGHT_WORKERS: "4" + - name: Remove stale baselines for deleted stories + run: | + node -e " + const fs = require('fs'), path = require('path'); + const idx = JSON.parse(fs.readFileSync('storybook-static/index.json', 'utf8')); + const stories = Object.values(idx.entries || idx.stories || {}).filter(s => s.id && !s.id.endsWith('--docs')); + const expected = new Set(stories.map(s => { const [c,v] = s.id.split('--'); return c + '/' + v + '-chromium-linux.png'; })); + const dir = 'tests/visual-regression.spec.ts-snapshots'; + if (!fs.existsSync(dir)) process.exit(0); + for (const component of fs.readdirSync(dir)) { + const cdir = path.join(dir, component); + if (!fs.statSync(cdir).isDirectory()) continue; + for (const file of fs.readdirSync(cdir)) { + const rel = component + '/' + file; + if (file.endsWith('.png') && !expected.has(rel)) { console.log('Removing stale baseline:', rel); fs.unlinkSync(path.join(cdir, file)); } + } + } + " + working-directory: packages/kilo-ui + - name: Check for baseline changes (fork PRs) if: needs.check-paths.outputs.is_fork == 'true' run: | @@ -262,6 +282,26 @@ jobs: CI: true PLAYWRIGHT_WORKERS: "4" + - name: Remove stale baselines for deleted stories + run: | + node -e " + const fs = require('fs'), path = require('path'); + const idx = JSON.parse(fs.readFileSync('storybook-static/index.json', 'utf8')); + const stories = Object.values(idx.entries || idx.stories || {}).filter(s => s.id && !s.id.endsWith('--docs')); + const expected = new Set(stories.map(s => { const [c,v] = s.id.split('--'); return c + '/' + v + '-chromium-linux.png'; })); + const dir = 'tests/visual-regression.spec.ts-snapshots'; + if (!fs.existsSync(dir)) process.exit(0); + for (const component of fs.readdirSync(dir)) { + const cdir = path.join(dir, component); + if (!fs.statSync(cdir).isDirectory()) continue; + for (const file of fs.readdirSync(cdir)) { + const rel = component + '/' + file; + if (file.endsWith('.png') && !expected.has(rel)) { console.log('Removing stale baseline:', rel); fs.unlinkSync(path.join(cdir, file)); } + } + } + " + working-directory: packages/kilo-vscode + - name: Check for baseline changes (fork PRs) if: needs.check-paths.outputs.is_fork == 'true' run: | diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-chromium-linux.png deleted file mode 100644 index 6555c17a5a4..00000000000 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-chromium-linux.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cae28aa54297014cb01b26120197b3bcab0b0a250c21d90c1050de3e09ee622b -size 10743