Add typed custom fields #546
Workflow file for this run
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: CI | |
| on: | |
| pull_request: | |
| branches: [main] | |
| push: | |
| branches: [main] | |
| # Cancel older CI runs for the same branch when a new commit arrives — | |
| # saves minutes when someone pushes a stack of fixes to one PR. | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check: | |
| name: Lint, typecheck, test, build | |
| runs-on: ubuntu-latest | |
| # Dummy env vars so `next build` doesn't fail when it reads the | |
| # public Supabase config at build time. These never leave CI and | |
| # never hit a real service — they just satisfy the `!` non-null | |
| # assertions in the client factories. ENCRYPTION_KEY and | |
| # META_APP_SECRET are read at module-load by lib/whatsapp/*; the | |
| # test suite asserts behaviour around these values, so any non- | |
| # empty placeholder works as long as it stays consistent with | |
| # vitest.config.ts. | |
| env: | |
| NEXT_PUBLIC_SUPABASE_URL: https://ci.example.supabase.co | |
| NEXT_PUBLIC_SUPABASE_ANON_KEY: ci-dummy-anon-key | |
| ENCRYPTION_KEY: '0000000000000000000000000000000000000000000000000000000000000000' | |
| META_APP_SECRET: 'ci-dummy-meta-secret' | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Lint | |
| run: npm run lint | |
| - name: Typecheck | |
| run: npm run typecheck | |
| - name: Test | |
| run: npm test | |
| - name: Build | |
| run: npm run build |