name: Diagnostics API on: pull_request: paths: - "services/diagnostics-api/**" - ".github/workflows/diagnostics-api.yml" push: branches: - master paths: - "services/diagnostics-api/**" - ".github/workflows/diagnostics-api.yml" permissions: contents: read concurrency: group: diagnostics-api-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: quality: runs-on: ubuntu-latest timeout-minutes: 15 defaults: run: working-directory: services/diagnostics-api steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "22" cache: npm cache-dependency-path: services/diagnostics-api/package-lock.json - name: Install dependencies run: npm ci - name: Verify generated Worker types run: npm run types:check - name: Type-check run: npm run typecheck - name: Test in the Workers runtime run: npm test - name: Validate the deployment bundle run: npm run deploy:dry-run