an atproto based link aggregator
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

Use nixpkgs chromium for browser tests in CI

Configure vitest to use system chromium via PLAYWRIGHT_CHROMIUM_PATH
environment variable. This allows browser tests to run in CI using
nixpkgs chromium instead of Playwright's bundled browsers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+12 -6
+6 -5
.tangled/workflows/ci.yaml
··· 10 10 nixpkgs: 11 11 - nodejs_22 12 12 - pnpm 13 + - gnused 13 14 - chromium 14 - - gnused 15 + 16 + environment: 17 + PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS: 'true' 18 + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: '1' 15 19 16 20 steps: 17 21 - name: Install dependencies 18 22 command: pnpm install --frozen-lockfile 19 - 20 - - name: Install Playwright browsers 21 - command: pnpm exec playwright install chromium 22 23 23 24 - name: Build lexicons 24 25 command: pnpm lex:build ··· 36 37 command: pnpm check 37 38 38 39 - name: Run tests 39 - command: pnpm test 40 + command: PLAYWRIGHT_CHROMIUM_PATH=$(which chromium) pnpm test
+6 -1
vite.config.ts
··· 3 3 import { sveltekit } from '@sveltejs/kit/vite'; 4 4 import tailwindcss from '@tailwindcss/vite'; 5 5 6 + // Use system chromium if PLAYWRIGHT_CHROMIUM_PATH is set (for CI with nixpkgs) 7 + const chromiumPath = process.env.PLAYWRIGHT_CHROMIUM_PATH; 8 + 6 9 export default defineConfig({ 7 10 plugins: [tailwindcss(), sveltekit()], 8 11 test: { ··· 14 17 name: 'client', 15 18 browser: { 16 19 enabled: true, 17 - provider: playwright(), 20 + provider: playwright({ 21 + launch: chromiumPath ? { executablePath: chromiumPath } : {} 22 + }), 18 23 instances: [{ browser: 'chromium', headless: true }] 19 24 }, 20 25 include: ['src/**/*.svelte.{test,spec}.{js,ts}'],