chore(deps): update dependency @angular/common to v21.0.1 [security] … #1230
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: Node.js CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: &node-versions [20.x, 22.x, 24.x] | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| fetch-depth: 0 | |
| - name: setup | |
| uses: ./.github/actions/setup-node-pnpm | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - run: pnpm install --frozen-lockfile | |
| - run: node ./scripts/generate-ajv-validator.js | |
| - run: pnpm tsc -b tsconfig.json | |
| - run: pnpm ci-lint | |
| - name: Check for uncommitted changes | |
| run: ./scripts/assert-clean-working-directory.sh | |
| - name: Create workspace archive | |
| run: | | |
| tar --exclude='./node_modules' \ | |
| --exclude='./**/node_modules' \ | |
| --exclude='./.git' \ | |
| --exclude='./coverage' \ | |
| --exclude='./**/*.log' \ | |
| -cvf ${{ runner.temp }}/workspace.tar . | |
| - name: Upload workspace | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: workspace-${{ matrix.node-version }} | |
| path: ${{ runner.temp }}/workspace.tar | |
| retention-days: 7 | |
| build-docs: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [24.x] | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| fetch-depth: 0 | |
| - name: setup | |
| uses: ./.github/actions/setup-node-pnpm | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 | |
| id: nextjs-cache | |
| with: | |
| path: packages/documentation/.next/cache | |
| key: ${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} | |
| restore-keys: | | |
| ${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}- | |
| - name: Download built workspace | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: workspace-${{ matrix.node-version }} | |
| path: ${{runner.temp}} | |
| - name: Extract workspace | |
| run: | | |
| tar -xf ${{runner.temp}}/workspace.tar -C . | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm --filter @nahkies/openapi-code-generator-documentation build | |
| unit: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: *node-versions | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| fetch-depth: 0 | |
| - name: setup | |
| uses: ./.github/actions/setup-node-pnpm | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Download built workspace | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: workspace-${{ matrix.node-version }} | |
| path: ${{runner.temp}} | |
| - name: Extract workspace | |
| run: | | |
| tar -xf ${{runner.temp}}/workspace.tar -C . | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm run ci-test | |
| - name: Check for uncommitted changes | |
| run: ./scripts/assert-clean-working-directory.sh | |
| integration: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: *node-versions | |
| schema-builder: [joi, zod-v3, zod-v4] | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| fetch-depth: 0 | |
| - name: setup | |
| uses: ./.github/actions/setup-node-pnpm | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Download built workspace | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: workspace-${{ matrix.node-version }} | |
| path: ${{runner.temp}} | |
| - name: Extract workspace | |
| run: | | |
| tar -xf ${{runner.temp}}/workspace.tar -C . | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm integration:clean | |
| - run: pnpm integration:generate --schema-builder ${{ matrix.schema-builder }} | |
| - run: pnpm integration:validate | |
| - name: Check for uncommitted changes | |
| if: ${{ matrix.schema-builder == 'zod-v4' }} | |
| run: ./scripts/assert-clean-working-directory.sh | |
| e2e: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: *node-versions | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| fetch-depth: 0 | |
| - name: setup | |
| uses: ./.github/actions/setup-node-pnpm | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Download built workspace | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: workspace-${{ matrix.node-version }} | |
| path: ${{runner.temp}} | |
| - name: Extract workspace | |
| run: | | |
| tar -xf ${{runner.temp}}/workspace.tar -C . | |
| - run: pnpm install --frozen-lockfile | |
| - run: SCHEMA_BUILDER=zod-v3 pnpm e2e:generate | |
| - run: pnpm e2e:validate | |
| - run: SCHEMA_BUILDER=zod-v4 pnpm e2e:generate | |
| - run: pnpm e2e:validate | |
| - name: Check for uncommitted changes | |
| run: ./scripts/assert-clean-working-directory.sh |