Generate one file per resource in every layer #358
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 Copier API Build | |
| on: | |
| push: | |
| paths: | |
| - typescript/** | |
| - .github/workflows/build-typescript-pipeline.yaml | |
| - .github/actions/setup-copier-template/** | |
| branches: | |
| - main | |
| pull_request: | |
| paths: | |
| - typescript/** | |
| - .github/workflows/build-typescript-pipeline.yaml | |
| - .github/actions/setup-copier-template/** | |
| jobs: | |
| build-typescript: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| # Windows and macOS risks don't depend on the cloud, so each runs once. | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| template-type: | |
| - typescript | |
| cloud-service: | |
| - "Azure Function App" | |
| - "GCP Cloud Function" | |
| - "AWS Lambda" | |
| fixture: | |
| - single | |
| - edge | |
| include: | |
| - os: windows-latest | |
| template-type: typescript | |
| cloud-service: "Azure Function App" | |
| fixture: single | |
| - os: macos-latest | |
| template-type: typescript | |
| cloud-service: "AWS Lambda" | |
| fixture: single | |
| fail-fast: false | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v7 | |
| - name: Setup Copier Template | |
| uses: ./.github/actions/setup-copier-template | |
| with: | |
| template-language: ${{ matrix.template-type }} | |
| template-cloud-service: ${{ matrix.cloud-service }} | |
| resources-fixture: ${{ matrix.fixture }} | |
| - name: Setup Node Environment | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: ${{ matrix.cloud-service == 'Azure Function App' && '22.x' || '24.x' }} | |
| - run: corepack enable | |
| shell: bash | |
| - name: Run install | |
| run: yarn install --no-immutable | |
| working-directory: KittenClaws | |
| shell: bash | |
| - name: Run build | |
| run: yarn build | |
| working-directory: KittenClaws | |
| shell: bash | |
| - name: Run lint | |
| run: yarn lint | |
| working-directory: KittenClaws | |
| shell: bash | |
| - name: Unit tests | |
| run: yarn test:unit | |
| working-directory: KittenClaws | |
| shell: bash | |
| - name: Run dependency vulnerability scan | |
| continue-on-error: true | |
| uses: ./.github/actions/dependency-audit | |
| with: | |
| command: yarn npm audit --severity moderate | |
| title: TypeScript dependency vulnerability scan (${{ matrix.cloud-service }}, ${{ matrix.fixture }}) |