Skip to content

fix(client): open the create panel blank after an edit panel loaded a… #226

fix(client): open the create panel blank after an edit panel loaded a…

fix(client): open the create panel blank after an edit panel loaded a… #226

Workflow file for this run

name: Test Client
on:
push:
branches:
- master
- main
- develop
- "claude/**"
paths:
- "client/**"
- "services/tms/internal/api/graphql/schema/**"
- "services/tms/internal/api/graphql/persisted-documents.json"
# The error taxonomy is generated from these two files into
# client/packages/shared/src/types/generated. Without them here a Go-side enum
# change would never run codegen:check and the drift would land unnoticed.
- "services/tms/pkg/errortypes/enums.go"
- "services/tms/internal/api/helpers/problemtypes.go"
- "services/tms/internal/core/domain/permission/resource_gen.go"
- ".github/workflows/test-client.yml"
- ".github/actions/setup-client/**"
pull_request:
branches:
- master
- main
- develop
paths:
- "client/**"
- "services/tms/internal/api/graphql/schema/**"
- "services/tms/internal/api/graphql/persisted-documents.json"
# The error taxonomy is generated from these two files into
# client/packages/shared/src/types/generated. Without them here a Go-side enum
# change would never run codegen:check and the drift would land unnoticed.
- "services/tms/pkg/errortypes/enums.go"
- "services/tms/internal/api/helpers/problemtypes.go"
- "services/tms/internal/core/domain/permission/resource_gen.go"
- ".github/workflows/test-client.yml"
- ".github/actions/setup-client/**"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
# Codegen is a prerequisite for typecheck and build, and it is the cheapest
# gate, so it runs once on its own instead of in every downstream job.
codegen:
name: GraphQL Codegen
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up client toolchain
uses: ./.github/actions/setup-client
- name: Check GraphQL generated artifacts
working-directory: ./client
run: pnpm --filter @trenova/graphql codegen:check
verify:
name: ${{ matrix.task.name }}
runs-on: ubuntu-latest
needs: codegen
strategy:
fail-fast: false
matrix:
task:
- name: Lint
run: pnpm lint -- --format=github
- name: Typecheck
run: pnpm typecheck
- name: Test
run: pnpm test
- name: Build
run: pnpm build
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up client toolchain
uses: ./.github/actions/setup-client
- name: ${{ matrix.task.name }}
working-directory: ./client
run: ${{ matrix.task.run }}
storybook:
name: Storybook
runs-on: ubuntu-latest
needs: codegen
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up client toolchain
uses: ./.github/actions/setup-client
# Browsers are pinned by the lockfile, so keying on it avoids a ~100MB
# download on every run.
- name: Cache Playwright browsers
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('client/pnpm-lock.yaml') }}
restore-keys: |
playwright-${{ runner.os }}-
- name: Install Playwright Chromium
working-directory: ./client/apps/web
run: pnpm exec playwright install --with-deps chromium
- name: Run Storybook tests
working-directory: ./client/apps/web
run: pnpm test:storybook