fix(client): open the create panel blank after an edit panel loaded a… #226
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |