Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@ jobs:
node-version: '20.x'
cache: 'pnpm'

- name: Turbo Cache
uses: actions/cache@v5
with:
path: node_modules/.cache/turbo
key: turbo-${{ runner.os }}-${{ github.sha }}
restore-keys: |
turbo-${{ runner.os }}-

Comment on lines +35 to +42
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The added Turbo cache in the test job is currently unused: this job runs pnpm test:coverage (Vitest) and never invokes turbo, so node_modules/.cache/turbo won’t be read/written in a meaningful way. Consider either running tests through Turbo (so build cache can be reused) or removing this cache step to avoid the overhead of a no-op cache restore/save.

Copilot uses AI. Check for mistakes.
- name: Install dependencies
run: pnpm install --frozen-lockfile

Expand Down Expand Up @@ -120,6 +128,14 @@ jobs:
node-version: '20.x'
cache: 'pnpm'

- name: Turbo Cache
uses: actions/cache@v5
with:
path: node_modules/.cache/turbo
key: turbo-${{ runner.os }}-${{ github.sha }}
restore-keys: |
turbo-${{ runner.os }}-

Comment on lines +131 to +138
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The added Turbo cache in the e2e job appears to be a no-op: the job downloads build artifacts and runs pnpm test:e2e (Playwright) without any turbo command, so node_modules/.cache/turbo caching won’t have an effect. Either wire this job to a Turbo task that benefits from the cache or remove the cache step to reduce workflow overhead.

Suggested change
- name: Turbo Cache
uses: actions/cache@v5
with:
path: node_modules/.cache/turbo
key: turbo-${{ runner.os }}-${{ github.sha }}
restore-keys: |
turbo-${{ runner.os }}-

Copilot uses AI. Check for mistakes.
- name: Install dependencies
run: pnpm install --frozen-lockfile

Expand All @@ -128,9 +144,25 @@ jobs:
with:
name: build-output

- name: Get Playwright version
id: playwright-version
run: echo "version=$(pnpm list @playwright/test --depth=0 --json | jq -r '.[0].devDependencies["@playwright/test"].version')" >> $GITHUB_OUTPUT
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow relies on jq being available on the runner to extract the Playwright version. Since jq isn’t installed anywhere in the job, this introduces an implicit dependency that can break if the runner image changes. Prefer deriving the version without jq (e.g., via pnpm exec playwright --version or node -p reading @playwright/test/package.json) or explicitly install jq first.

Suggested change
run: echo "version=$(pnpm list @playwright/test --depth=0 --json | jq -r '.[0].devDependencies["@playwright/test"].version')" >> $GITHUB_OUTPUT
run: echo "version=$(node -p "require(require.resolve('@playwright/test/package.json')).version")" >> $GITHUB_OUTPUT

Copilot uses AI. Check for mistakes.

- name: Cache Playwright browsers
uses: actions/cache@v5
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}

- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: pnpm exec playwright install --with-deps chromium

- name: Install Playwright system dependencies
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: pnpm exec playwright install-deps chromium

- name: Run E2E tests
run: pnpm test:e2e --project=chromium

Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/storybook-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,25 @@ jobs:
- name: Build Storybook
run: pnpm storybook:build

- name: Get Playwright version
id: playwright-version
run: echo "version=$(pnpm list @playwright/test --depth=0 --json | jq -r '.[0].devDependencies["@playwright/test"].version')" >> $GITHUB_OUTPUT
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow uses jq to parse JSON for the Playwright version, but jq is not installed in the job steps. To avoid an implicit runner dependency, compute the version without jq (e.g., pnpm exec playwright --version / node -p from @playwright/test/package.json) or add an explicit jq install step.

Suggested change
run: echo "version=$(pnpm list @playwright/test --depth=0 --json | jq -r '.[0].devDependencies["@playwright/test"].version')" >> $GITHUB_OUTPUT
run: echo "version=$(node -p "require('./node_modules/@playwright/test/package.json').version")" >> $GITHUB_OUTPUT

Copilot uses AI. Check for mistakes.

- name: Cache Playwright browsers
uses: actions/cache@v5
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}

- name: Install Playwright Browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: pnpm exec playwright install --with-deps chromium

- name: Install Playwright system dependencies
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: pnpm exec playwright install-deps chromium

- name: Run Storybook tests
run: pnpm storybook:ci

Expand Down
Loading