Skip to content

chore(deps-dev): bump the dev-dependencies group across 1 directory with 19 updates #403

chore(deps-dev): bump the dev-dependencies group across 1 directory with 19 updates

chore(deps-dev): bump the dev-dependencies group across 1 directory with 19 updates #403

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
paths:
- 'src/**'
- 'tests/**'
- '.github/workflows/ci.yml'
- 'eslint.config.mjs'
- 'playwright.config.ts'
- 'package.json'
- 'pnpm-lock.yaml'
- 'tsconfig*.json'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- uses: actions/setup-node@v5
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- run: pnpm lint
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- uses: actions/setup-node@v5
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Cache Vite build output
uses: actions/cache@v4
with:
# Cache Vite's internal artifacts to accelerate subsequent builds.
path: |
~/.cache/vite
~/.vite
key: ${{ runner.os }}-vite-${{ hashFiles('pnpm-lock.yaml', 'vite.config.ts') }}
- name: Build project
run: pnpm build
- name: Upload dist artifact
uses: actions/upload-artifact@v4
with:
name: dist
path: dist
unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- uses: actions/setup-node@v5
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- run: pnpm test
e2e-tests:
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
browser: [chromium, firefox, webkit]
container:
image: mcr.microsoft.com/playwright:v1.56.0-jammy
env:
HOME: /root
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- uses: actions/setup-node@v5
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Download dist artifact
uses: actions/download-artifact@v5
with:
name: dist
path: dist
- run: pnpm exec playwright test --project=${{ matrix.browser }}
env:
CI: true
PLAYWRIGHT_USE_PREVIEW: '1'
- name: Upload Playwright artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-${{ matrix.browser }}-artifacts
path: |
playwright-report/
test-results/
if-no-files-found: warn
- name: Upload landing page screenshot
if: always()
uses: actions/upload-artifact@v4
with:
name: landing-page-${{ matrix.browser }}-screenshot
path: |
test-results/**/initial-state-${{ matrix.browser }}.png
if-no-files-found: warn