name: F2.3 Field Finding CI on: push: branches: - 'feature/f2-3*' paths: - 'api-v3/**' - '.github/workflows/f2-3-ci.yml' workflow_dispatch: permissions: contents: read jobs: api: runs-on: ubuntu-latest timeout-minutes: 20 defaults: run: working-directory: api-v3 steps: - name: Checkout uses: actions/checkout@v4 - name: Node 24 uses: actions/setup-node@v4 with: node-version: '24' cache: npm cache-dependency-path: api-v3/package-lock.json - name: Install run: npm ci - name: Typecheck run: npm run typecheck 2>&1 | tee typecheck.log - name: Upload TypeScript diagnostic if: always() uses: actions/upload-artifact@v4 with: name: f2-3-typecheck-diagnostic path: api-v3/typecheck.log if-no-files-found: warn retention-days: 3 - name: Tests run: npm test 2>&1 | tee test.log - name: Upload test diagnostic if: always() uses: actions/upload-artifact@v4 with: name: f2-3-test-diagnostic path: api-v3/test.log if-no-files-found: warn retention-days: 3 - name: Build run: npm run build