From 5e30ecd8474e9697231e8e81aebbb130f3545ee1 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 20:41:12 +1200 Subject: [PATCH 01/15] chore(ci): enhance CI pipeline with spell check and adjust job dependencies --- .github/workflows/ci-pipeline.yml | 55 +++++++++++++++---------------- src/components/Sponsors.astro | 10 +++--- 2 files changed, 30 insertions(+), 35 deletions(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index d6eec5a3..258532f3 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -31,9 +31,18 @@ jobs: !.vscode/** !.env.example + cspell: + name: Spell Check + needs: [check_changes] + runs-on: ubuntu-latest + if: ${{ needs.check_changes.outputs.exists == 'true' }} + steps: + - uses: actions/checkout@v4 + - uses: streetsidesoftware/cspell-action@v7 + setup: name: Setup Dependencies - needs: check_changes + needs: [check_changes] if: ${{ needs.check_changes.outputs.exists == 'true' }} runs-on: ubuntu-latest steps: @@ -66,22 +75,22 @@ jobs: quality_checks: name: ${{ matrix.name }} - needs: [check_changes, setup] + needs: [setup, cspell] if: ${{ needs.check_changes.outputs.exists == 'true' }} runs-on: ubuntu-latest strategy: matrix: include: - - check: lint - name: Lint - - check: format - name: Format - - check: test - name: Test - - check: spell - name: Spell Check - - check: build - name: Build + - name: Lint + check: lint + - name: Format + check: format + - name: Test + check: test + - name: Build + check: build + - name: TypeScript + check: astro check steps: - uses: actions/checkout@v4 @@ -121,9 +130,12 @@ jobs: playwright: name: Playwright Tests - needs: [check_changes, setup] + needs: [setup, cspell] if: ${{ needs.check_changes.outputs.exists == 'true' }} runs-on: ubuntu-latest + container: + image: mcr.microsoft.com/playwright:v1.54.0-noble + options: --user 1001 steps: - uses: actions/checkout@v4 with: @@ -146,11 +158,6 @@ jobs: key: ${{ runner.os }}-node-modules-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: ${{ runner.os }}-node-modules- - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: lts/* - - name: Setup pnpm uses: pnpm/action-setup@v4 with: @@ -160,23 +167,13 @@ jobs: if: steps.cache.outputs.cache-hit != 'true' run: pnpm install --frozen-lockfile - - name: Cache Playwright Browsers - uses: actions/cache@v4 - with: - path: ~/.cache/ms-playwright - key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: ${{ runner.os }}-playwright- - - - name: Install Playwright Browsers - run: pnpm exec playwright install --with-deps - - name: Run Playwright Tests run: pnpm exec turbo run test:playwright timeout-minutes: 10 verify: name: Verify - needs: [check_changes, quality_checks, playwright] + needs: [check_changes, cspell, quality_checks, playwright] runs-on: ubuntu-latest if: always() outputs: diff --git a/src/components/Sponsors.astro b/src/components/Sponsors.astro index 92a44e89..80ced2cc 100644 --- a/src/components/Sponsors.astro +++ b/src/components/Sponsors.astro @@ -1,14 +1,12 @@ --- -import h3 from '~/components/Description.astro' +import Image from 'astro/components/Image.astro' +import blacksmithLogo from '~/assets/sponsors/blacksmith-logo-dark.svg' +import crowdinLogo from '~/assets/sponsors/crowdin-logo-dark.svg' +import tutaLogo from '~/assets/sponsors/tutaLogo-dark.svg' import { getLocale, getUI } from '~/utils/i18n' const locale = getLocale(Astro) -import tutaLogo from '~/assets/sponsors/tutaLogo-dark.svg' -import blacksmithLogo from '~/assets/sponsors/blacksmith-logo-dark.svg' -import crowdinLogo from '~/assets/sponsors/crowdin-logo-dark.svg' - -import Image from 'astro/components/Image.astro' const { showSponsors = true } = Astro.props const { From f3567fb64ac1e5fd2df18fe0e4477329f7c8ea62 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 20:42:37 +1200 Subject: [PATCH 02/15] chore: update .gitignore and lefthook configuration to improve caching --- .gitignore | 1 + lefthook.yaml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ccf48a68..bfb2a75e 100644 --- a/.gitignore +++ b/.gitignore @@ -33,5 +33,6 @@ npm-debug.log* # cache .eslintcache +.cspellcache # Turborepo .turbo diff --git a/lefthook.yaml b/lefthook.yaml index 5d0536e5..bbc0f71d 100644 --- a/lefthook.yaml +++ b/lefthook.yaml @@ -1,5 +1,7 @@ pre-commit: piped: true + exclude: + - pnpm-lock.yaml commands: prettier: priority: 1 @@ -36,7 +38,7 @@ cspell: base: glob: "*.{js,cjs,mjs,jsx,ts,cts,mts,tsx,d.ts,astro,json,yaml,yml,md,mdx}" run: | - pnpm cspell {staged_files} + pnpm cspell {staged_files} --cache --cache-strategy=content --cache-location=.cspellcache stage_fixed: true commit-msg: From 1c1c2a5c896ea09426b1c5cbe4ac43cd5508dfcc Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 20:44:59 +1200 Subject: [PATCH 03/15] chore(ci): remove cspell job from CI pipeline and adjust dependencies accordingly --- .github/workflows/ci-pipeline.yml | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index 258532f3..ce9e874e 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -31,15 +31,6 @@ jobs: !.vscode/** !.env.example - cspell: - name: Spell Check - needs: [check_changes] - runs-on: ubuntu-latest - if: ${{ needs.check_changes.outputs.exists == 'true' }} - steps: - - uses: actions/checkout@v4 - - uses: streetsidesoftware/cspell-action@v7 - setup: name: Setup Dependencies needs: [check_changes] @@ -75,7 +66,7 @@ jobs: quality_checks: name: ${{ matrix.name }} - needs: [setup, cspell] + needs: [setup] if: ${{ needs.check_changes.outputs.exists == 'true' }} runs-on: ubuntu-latest strategy: @@ -91,6 +82,8 @@ jobs: check: build - name: TypeScript check: astro check + - name: Spell Check + check: cspell steps: - uses: actions/checkout@v4 @@ -130,7 +123,7 @@ jobs: playwright: name: Playwright Tests - needs: [setup, cspell] + needs: [setup] if: ${{ needs.check_changes.outputs.exists == 'true' }} runs-on: ubuntu-latest container: @@ -173,7 +166,7 @@ jobs: verify: name: Verify - needs: [check_changes, cspell, quality_checks, playwright] + needs: [check_changes, quality_checks, playwright] runs-on: ubuntu-latest if: always() outputs: From f2ffa8ba097b9e1c994047c3be9f1f10563facc9 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 20:48:03 +1200 Subject: [PATCH 04/15] chore: streamline build and typecheck scripts in package.json and CI pipeline --- .github/workflows/ci-pipeline.yml | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index ce9e874e..14bcd6db 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -81,7 +81,7 @@ jobs: - name: Build check: build - name: TypeScript - check: astro check + check: typecheck - name: Spell Check check: cspell steps: diff --git a/package.json b/package.json index 0665127f..b1b5437f 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "scripts": { "dev": "astro dev --port 3000", "start": "astro preview --port 3000", - "build": "astro check && astro build", + "build": "astro build", "preview": "astro preview --port 3000", "wrangler": "wrangler", - "astro": "astro", + "typecheck": "astro check", "lint": "eslint . --max-warnings=0 --cache", "lint:fix": "eslint . --fix", "spell": "cspell \"**/*.{ts,tsx,js,jsx,astro,md,json,yml,yaml}\"", From 287bc29235d6ab495737d7c782a6a3690112bc67 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 20:53:54 +1200 Subject: [PATCH 05/15] fix(download): remove checksum from release-data --- src/components/download/release-data.ts | 49 +++++++++++++++++++++++++ src/pages/[...locale]/download.astro | 18 ++++----- 2 files changed, 56 insertions(+), 11 deletions(-) diff --git a/src/components/download/release-data.ts b/src/components/download/release-data.ts index 58ab5567..509f5940 100644 --- a/src/components/download/release-data.ts +++ b/src/components/download/release-data.ts @@ -59,3 +59,52 @@ export function getReleasesWithChecksums(locale: string) { } } } + +export function getReleases(locale: string) { + const { + routes: { + download: { + links: { macos, windows, linux }, + }, + }, + } = getUI(locale) + + return { + macos: { + universal: { + link: 'https://github.com/zen-browser/desktop/releases/latest/download/zen.macos-universal.dmg', + label: macos.universal, + }, + }, + windows: { + x86_64: { + link: 'https://github.com/zen-browser/desktop/releases/latest/download/zen.installer.exe', + label: windows['64bit'], + }, + arm64: { + link: 'https://github.com/zen-browser/desktop/releases/latest/download/zen.installer-arm64.exe', + label: windows.ARM64, + }, + }, + linux: { + x86_64: { + tarball: { + link: 'https://github.com/zen-browser/desktop/releases/latest/download/zen.linux-x86_64.tar.xz', + label: linux.x86_64, + }, + }, + aarch64: { + tarball: { + link: 'https://github.com/zen-browser/desktop/releases/latest/download/zen.linux-aarch64.tar.xz', + label: linux.aarch64, + }, + }, + flathub: { + all: { + link: 'https://flathub.org/apps/app.zen_browser.zen', + label: linux.flathub, + }, + }, + }, + } +} diff --git a/src/pages/[...locale]/download.astro b/src/pages/[...locale]/download.astro index 1ed3fb0b..cf9fcc3b 100644 --- a/src/pages/[...locale]/download.astro +++ b/src/pages/[...locale]/download.astro @@ -1,18 +1,15 @@ --- -import Description from '~/components/Description.astro' -import DownloadScript from '~/components/download/DownloadScript.astro' -import PlatformDownload from '~/components/download/PlatformDownload.astro' -import { getReleasesWithChecksums } from '~/components/download/release-data' -import Layout from '~/layouts/Layout.astro' -import { getChecksums } from '~/utils/githubChecksums' -import { getLocale, getUI } from '~/utils/i18n' - import { icon, library } from '@fortawesome/fontawesome-svg-core' import { faApple, faGithub, faLinux, faWindows } from '@fortawesome/free-brands-svg-icons' import Image from 'astro/components/Image.astro' - import AppIconDark from '~/assets/app-icon-dark.png' import AppIconLight from '~/assets/app-icon-light.png' +import Description from '~/components/Description.astro' +import DownloadScript from '~/components/download/DownloadScript.astro' +import PlatformDownload from '~/components/download/PlatformDownload.astro' +import { getReleases } from '~/components/download/release-data' +import Layout from '~/layouts/Layout.astro' +import { getLocale, getUI } from '~/utils/i18n' export { getStaticPaths } from '~/utils/i18n' @@ -27,8 +24,7 @@ const windowsIcon = icon({ prefix: 'fab', iconName: 'windows' }) const linuxIcon = icon({ prefix: 'fab', iconName: 'linux' }) const appleIcon = icon({ prefix: 'fab', iconName: 'apple' }) -const checksums = await getChecksums() -const releases = getReleasesWithChecksums(locale)(checksums) +const releases = getReleases(locale) const platformDescriptions = download.platformDescriptions --- From 5c9a03b649ad29292c0ca842658e76c23c480402 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 20:57:04 +1200 Subject: [PATCH 06/15] chore(ci): update Playwright version in CI pipeline to v1.54.1 --- .github/workflows/ci-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index 14bcd6db..1bfbebc6 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -127,7 +127,7 @@ jobs: if: ${{ needs.check_changes.outputs.exists == 'true' }} runs-on: ubuntu-latest container: - image: mcr.microsoft.com/playwright:v1.54.0-noble + image: mcr.microsoft.com/playwright:v1.54.1-noble options: --user 1001 steps: - uses: actions/checkout@v4 From 3157d05eb8d533a098895426d0c4c17ad7c4d0a8 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:01:40 +1200 Subject: [PATCH 07/15] chore(ci): add build artifact upload and download steps in CI pipeline --- .github/workflows/ci-pipeline.yml | 17 +++++++++++++++++ turbo.json | 1 - 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index 1bfbebc6..ae85e683 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -121,6 +121,13 @@ jobs: - name: Run ${{ matrix.name }} run: pnpm exec turbo run ${{ matrix.check }} + - name: Upload Build Artifact + if: matrix.name == 'Build' + uses: actions/upload-artifact@v4 + with: + name: build-dist-${{ github.sha }} + path: dist/ + playwright: name: Playwright Tests needs: [setup] @@ -151,6 +158,13 @@ jobs: key: ${{ runner.os }}-node-modules-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: ${{ runner.os }}-node-modules- + - name: Download Build Artifact + uses: actions/download-artifact@v4 + with: + path: dist/ + pattern: build-dist* + merge-multiple: true + - name: Setup pnpm uses: pnpm/action-setup@v4 with: @@ -160,6 +174,9 @@ jobs: if: steps.cache.outputs.cache-hit != 'true' run: pnpm install --frozen-lockfile + - name: Install Playwright + run: pnpm exec playwright install --with-deps + - name: Run Playwright Tests run: pnpm exec turbo run test:playwright timeout-minutes: 10 diff --git a/turbo.json b/turbo.json index 0e978457..2715eb7f 100644 --- a/turbo.json +++ b/turbo.json @@ -33,7 +33,6 @@ }, "test:playwright": { "cache": true, - "dependsOn": ["build"], "inputs": ["src"], "outputs": ["playwright-report/**", "test-results/**"] } From 215c9171c43e1453ca1ff6393ab90d114fbf0509 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:02:39 +1200 Subject: [PATCH 08/15] refactor(playwright): simplify project configuration for CI and local environments --- playwright.config.ts | 73 +++++++++++++------------------------------- 1 file changed, 21 insertions(+), 52 deletions(-) diff --git a/playwright.config.ts b/playwright.config.ts index ee80e256..5d5b4496 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -1,69 +1,38 @@ import { defineConfig, devices } from '@playwright/test' -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// import dotenv from 'dotenv'; -// import path from 'path'; -// dotenv.config({ path: path.resolve(__dirname, '.env') }); - -/** - * See https://playwright.dev/docs/test-configuration. - */ export default defineConfig({ testDir: './src/tests', testIgnore: ['**.test.ts'], fullyParallel: true, forbidOnly: Boolean(process.env.CI), retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ workers: process.env.CI ? 1 : undefined, reporter: 'html', use: { baseURL: 'http://localhost:3000', trace: 'on-first-retry', }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { ...devices['Desktop Chrome'] }, - }, - - { - name: 'firefox', - use: { ...devices['Desktop Firefox'] }, - }, - - { - name: 'webkit', - use: { ...devices['Desktop Safari'] }, - }, - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { ...devices['Pixel 5'] }, - // }, - // { - // name: 'Mobile Safari', - // use: { ...devices['iPhone 12'] }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { ...devices['Desktop Edge'], channel: 'msedge' }, - // }, - // { - // name: 'Google Chrome', - // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, - // }, - ], - - /* Run your local dev server before starting the tests */ + projects: process.env.CI + ? [ + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + ] + : [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, + ], webServer: { command: process.env.CI ? 'npm run start' : 'npm run dev', url: 'http://localhost:3000', From 98e43a3f0710ff58af2036944c9818c0ed4d56b4 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:04:35 +1200 Subject: [PATCH 09/15] chore(ci): rename spell check job in CI pipeline for consistency --- .github/workflows/ci-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index ae85e683..2fa5cc9f 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -83,7 +83,7 @@ jobs: - name: TypeScript check: typecheck - name: Spell Check - check: cspell + check: spell steps: - uses: actions/checkout@v4 From f156021a012eeac83d07abf4a9fae85ad6e22006 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:06:59 +1200 Subject: [PATCH 10/15] chore(ci): conditionally set up Node.js in CI pipeline to optimize caching --- .github/workflows/ci-pipeline.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index 2fa5cc9f..78eb959d 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -50,6 +50,7 @@ jobs: lookup-only: true - name: Setup Node.js + if: steps.check-node-modules-cache.outputs.cache-hit != 'true' uses: actions/setup-node@v4 with: node-version: lts/* @@ -174,9 +175,6 @@ jobs: if: steps.cache.outputs.cache-hit != 'true' run: pnpm install --frozen-lockfile - - name: Install Playwright - run: pnpm exec playwright install --with-deps - - name: Run Playwright Tests run: pnpm exec turbo run test:playwright timeout-minutes: 10 From 4b5a8f10c9f7ab5f983068df337571d3d29dad5f Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:11:57 +1200 Subject: [PATCH 11/15] chore(ci): add Playwright installation step in CI pipeline for Firefox --- .github/workflows/ci-pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index 78eb959d..a83f5a21 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -175,6 +175,9 @@ jobs: if: steps.cache.outputs.cache-hit != 'true' run: pnpm install --frozen-lockfile + - name: Install Playwright + run: pnpm exec playwright install firefox + - name: Run Playwright Tests run: pnpm exec turbo run test:playwright timeout-minutes: 10 From 41843efcb269ab7ad7fcf563eb6e13eda34a81fe Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:14:43 +1200 Subject: [PATCH 12/15] chore(ci): update Playwright installation step in CI pipeline to install all browsers --- .github/workflows/ci-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index a83f5a21..f7e32978 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -176,7 +176,7 @@ jobs: run: pnpm install --frozen-lockfile - name: Install Playwright - run: pnpm exec playwright install firefox + run: pnpm exec playwright install - name: Run Playwright Tests run: pnpm exec turbo run test:playwright From cece466011f46cd42e8673267b670c4ddc8d181a Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:17:01 +1200 Subject: [PATCH 13/15] chore(ci): update Playwright test step to set browser path in CI pipeline --- .github/workflows/ci-pipeline.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index f7e32978..f7a59be6 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -175,10 +175,9 @@ jobs: if: steps.cache.outputs.cache-hit != 'true' run: pnpm install --frozen-lockfile - - name: Install Playwright - run: pnpm exec playwright install - - name: Run Playwright Tests + env: + PLAYWRIGHT_BROWSERS_PATH: /ms-playwright run: pnpm exec turbo run test:playwright timeout-minutes: 10 From 7f1bf3cdef963262f7bc26b43d1698bb8223939d Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:18:19 +1200 Subject: [PATCH 14/15] chore(ci): add global environment variable for Playwright configuration --- .github/workflows/ci-pipeline.yml | 2 -- turbo.json | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index f7a59be6..78eb959d 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -176,8 +176,6 @@ jobs: run: pnpm install --frozen-lockfile - name: Run Playwright Tests - env: - PLAYWRIGHT_BROWSERS_PATH: /ms-playwright run: pnpm exec turbo run test:playwright timeout-minutes: 10 diff --git a/turbo.json b/turbo.json index 2715eb7f..99410af6 100644 --- a/turbo.json +++ b/turbo.json @@ -1,5 +1,6 @@ { "$schema": "https://turborepo.com/schema.json", + "globalPassThroughEnv": ["PLAYWRIGHT_*"], "tasks": { "dev": { "cache": false, From 9d53b97ea109e5a066472aceaad07014a0474c14 Mon Sep 17 00:00:00 2001 From: Shintaro Jokagi Date: Thu, 24 Jul 2025 21:20:16 +1200 Subject: [PATCH 15/15] chore(ci): add dependency on quality checks for Playwright tests to optimize CI execution --- .github/workflows/ci-pipeline.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index 78eb959d..c958bc31 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -129,9 +129,10 @@ jobs: name: build-dist-${{ github.sha }} path: dist/ + # We should depend on quality checks to save CI running time. playwright: name: Playwright Tests - needs: [setup] + needs: [setup, quality_checks] if: ${{ needs.check_changes.outputs.exists == 'true' }} runs-on: ubuntu-latest container: