Add payment adapter, voucher ledger, and governance hardening #646
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: TypeScript Check | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| inputs: | |
| force_full_run: | |
| description: "Force a full typecheck run" | |
| type: boolean | |
| default: false | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| backend: ${{ steps.filter.outputs.backend }} | |
| client: ${{ steps.filter.outputs.client }} | |
| sdk: ${{ steps.filter.outputs.sdk }} | |
| shared: ${{ steps.filter.outputs.shared }} | |
| root: ${{ steps.filter.outputs.root }} | |
| force_full_run: ${{ github.event.inputs.force_full_run || 'false' }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dorny/paths-filter@v4 | |
| id: filter | |
| with: | |
| filters: | | |
| backend: | |
| - 'backend/**' | |
| - 'shared/**' | |
| client: | |
| - 'client/**' | |
| - 'shared/**' | |
| sdk: | |
| - 'sdk/**' | |
| - 'shared/**' | |
| shared: | |
| - 'shared/**' | |
| root: | |
| - 'app/**' | |
| - 'scripts/**' | |
| - 'package.json' | |
| - 'package-lock.json' | |
| - 'tsconfig.json' | |
| typecheck: | |
| name: Typecheck (${{ matrix.package }}) | |
| runs-on: ubuntu-latest | |
| needs: changes | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| package: [backend, client, sdk, shared, root] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| if: | | |
| needs.changes.outputs.force_full_run == 'true' || | |
| (matrix.package == 'backend' && needs.changes.outputs.backend == 'true') || | |
| (matrix.package == 'client' && needs.changes.outputs.client == 'true') || | |
| (matrix.package == 'sdk' && needs.changes.outputs.sdk == 'true') || | |
| (matrix.package == 'shared' && needs.changes.outputs.shared == 'true') || | |
| (matrix.package == 'root' && (needs.changes.outputs.backend == 'true' || needs.changes.outputs.client == 'true' || needs.changes.outputs.sdk == 'true' || needs.changes.outputs.shared == 'true' || needs.changes.outputs.root == 'true')) | |
| - uses: actions/setup-node@v6 | |
| if: | | |
| needs.changes.outputs.force_full_run == 'true' || | |
| (matrix.package == 'backend' && needs.changes.outputs.backend == 'true') || | |
| (matrix.package == 'client' && needs.changes.outputs.client == 'true') || | |
| (matrix.package == 'sdk' && needs.changes.outputs.sdk == 'true') || | |
| (matrix.package == 'shared' && needs.changes.outputs.shared == 'true') || | |
| (matrix.package == 'root' && (needs.changes.outputs.backend == 'true' || needs.changes.outputs.client == 'true' || needs.changes.outputs.sdk == 'true' || needs.changes.outputs.shared == 'true' || needs.changes.outputs.root == 'true')) | |
| with: | |
| node-version: "20" | |
| cache: "npm" | |
| - name: Install dependencies | |
| if: | | |
| needs.changes.outputs.force_full_run == 'true' || | |
| (matrix.package == 'backend' && needs.changes.outputs.backend == 'true') || | |
| (matrix.package == 'client' && needs.changes.outputs.client == 'true') || | |
| (matrix.package == 'sdk' && needs.changes.outputs.sdk == 'true') || | |
| (matrix.package == 'shared' && needs.changes.outputs.shared == 'true') || | |
| (matrix.package == 'root' && (needs.changes.outputs.backend == 'true' || needs.changes.outputs.client == 'true' || needs.changes.outputs.sdk == 'true' || needs.changes.outputs.shared == 'true' || needs.changes.outputs.root == 'true')) | |
| run: npm install | |
| - name: Run Typecheck | |
| if: | | |
| needs.changes.outputs.force_full_run == 'true' || | |
| (matrix.package == 'backend' && needs.changes.outputs.backend == 'true') || | |
| (matrix.package == 'client' && needs.changes.outputs.client == 'true') || | |
| (matrix.package == 'sdk' && needs.changes.outputs.sdk == 'true') || | |
| (matrix.package == 'shared' && needs.changes.outputs.shared == 'true') || | |
| (matrix.package == 'root' && (needs.changes.outputs.backend == 'true' || needs.changes.outputs.client == 'true' || needs.changes.outputs.sdk == 'true' || needs.changes.outputs.shared == 'true' || needs.changes.outputs.root == 'true')) | |
| run: | | |
| if [ "${{ matrix.package }}" = "root" ]; then | |
| npm run typecheck:root | |
| else | |
| npm run typecheck -w ${{ matrix.package }} | |
| fi |