docs: GIS-Plan-Status auf WP-6 nachziehen #725
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
| # Gates every PR (and push to main) on lint + typecheck + tests + build, so | |
| # broken TS/config/templates never reach main silently — build-image.yml | |
| # only builds after merge and doesn't run on pull requests. | |
| name: CI | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install poppler-utils (pdftoppm, used by PDF extraction tests) | |
| run: sudo apt-get update && sudo apt-get install -y poppler-utils | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v5 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Generate Nuxt types | |
| run: pnpm exec nuxi prepare | |
| - name: Production source size gate | |
| run: find server components composables pages lib -type f \( -name '*.ts' -o -name '*.vue' -o -name '*.mjs' \) ! -path '*/migrations/*' ! -path '*/vendor/*' ! -name '*.test.*' ! -name '*.spec.*' -print0 | xargs -0 wc -l | awk '$2 != "total" && $1 > 500 { print; bad=1 } END { exit bad }' | |
| - name: Lint | |
| run: pnpm run lint | |
| - name: Typecheck | |
| run: pnpm exec nuxi typecheck | |
| - name: Test | |
| run: pnpm test | |
| - name: Build | |
| run: pnpm build |