Skip to content

chore (client): add Zod and Prisma as (optional) peer dependencies #2648

chore (client): add Zod and Prisma as (optional) peer dependencies

chore (client): add Zod and Prisma as (optional) peer dependencies #2648

name: Clients / Typescript / Tests
on:
workflow_call:
push:
branches:
- main
pull_request:
paths:
- 'pnpm-lock.yaml'
- 'clients/typescript/**'
- '!clients/typescript/**.md'
defaults:
run:
working-directory: clients/typescript
concurrency:
group: clients-typescript-${{ github.ref }}
cancel-in-progress: true
jobs:
verify_formatting:
name: Check formatting & linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
with:
node-version: 18
cache: pnpm
- run: make deps
- run: pnpm run check-styleguide
check_types:
name: Check types
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
with:
node-version: 18
cache: pnpm
- run: make deps
- run: pnpm run typecheck
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [16, 18, 20]
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- name: Build Generator
run: make build_generator
- name: Install
run: make deps
- name: Build
run: make build
- name: Run tests
run: make tests
maybe_publish:
runs-on: ubuntu-latest
needs: [test, check_types, verify_formatting]
if: ${{ github.ref_name == 'main' }}
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- run: make deps
- run: pnpm config set '//registry.npmjs.org/:_authToken' "${{ secrets.NPM_TOKEN }}"
- run: make publish-canary