chore (repo): reorganize monorepo structure #6
This file contains 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: Clients / Typescript / Tests | |
on: | |
workflow_call: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths: | |
- "pnpm-lock.yaml" | |
- "packages/client/**" | |
- "!packages/client/**.md" | |
defaults: | |
run: | |
working-directory: packages/client | |
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@v4 | |
- uses: pnpm/action-setup@v4 | |
with: | |
version: 9 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
cache: pnpm | |
- run: make deps | |
- run: pnpm run check-styleguide | |
check_types: | |
name: Check types | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
with: | |
version: 9 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
cache: pnpm | |
- run: make deps | |
- run: pnpm run typecheck | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18, 20, 22] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
with: | |
version: 9 | |
- uses: actions/setup-node@v4 | |
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-CI | |
maybe_publish: | |
runs-on: ubuntu-latest | |
needs: [test, check_types, verify_formatting] | |
if: ${{ github.ref_name == 'main' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
with: | |
version: 9 | |
- uses: actions/setup-node@v4 | |
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 |