CI / frontend (push) Successful in 1m51s
CI / storybook-a11y (push) Successful in 5m4s
CI / backend (push) Successful in 1m21s
CI / codeql (csharp) (push) Has been cancelled
CI / codeql (javascript-typescript) (push) Has been cancelled
CI / api-client-drift (push) Has been cancelled
CI / e2e (push) Has been cancelled
Three fixes so Gitea CI is green and stays that way: - **ng build --localize**: `messages.en.xlf` (hand-maintained, matched by id) had drifted ~93 units behind the source since WP-24 — `beheer.*`, `brief.canvas.*`, `brief.diff.*`, `orgTemplate.*`, `brief.besluit.*`, etc. With `i18nMissingTranslation: "error"` that fails the frontend job. Added English `<target>`s for every missing unit (interpolation `<x/>` tags preserved); both nl + en bundles build clean. - **docker npm noise**: the web container's `npm ci` now runs `--no-fund --loglevel=error`, so `docker compose up` boots without npm 11's deprecation / allow-scripts / funding warnings (verified in the running container: 0 warning lines). The underlying Angular webpack-builder deprecation is upstream; migrating to @angular/build is out of scope. - **local CI check**: `scripts/ci-local.sh` + `npm run ci` mirror the CI jobs (lint, format:check, check:tokens, test, build --localize, audit, backend format+test, api-client drift; `--full` adds storybook-a11y) so a red build is caught before pushing. Opt-in pre-push hook at scripts/githooks/pre-push. Documented in CLAUDE.md. Verified: `npm run ci` passes end-to-end; storybook-a11y 169/169 (the local parallel-worker timeouts were the docker stack starving chromium, not a regression). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
48 lines
2.1 KiB
YAML
48 lines
2.1 KiB
YAML
# ponytail: dev-server images (not multi-stage prod builds) — this is a demo.
|
|
# `docker compose up` → app at http://localhost:4200, Swagger at http://localhost:5000/swagger
|
|
services:
|
|
api:
|
|
image: mcr.microsoft.com/dotnet/sdk:10.0
|
|
working_dir: /src
|
|
command: dotnet run --project src/BigRegister.Api --urls http://+:5000
|
|
environment:
|
|
- ASPNETCORE_ENVIRONMENT=Development
|
|
volumes:
|
|
# ':z' relabels for SELinux (Fedora/RHEL); harmless on other hosts.
|
|
# WP-22: no separate volume needed for the SQLite file — `dotnet run` sets
|
|
# its cwd to the project dir (src/BigRegister.Api), which this bind mount
|
|
# already covers, so bigregister.db lands on the host and survives
|
|
# `docker compose restart api` / `down` + `up` for free (gitignored).
|
|
- ./backend:/src:z
|
|
- api-bin:/src/src/BigRegister.Api/bin
|
|
- api-obj:/src/src/BigRegister.Api/obj
|
|
# WP-25: LetterHtml.Render inlines public/letter.css (the FE⇄BE letter
|
|
# contract, repo-root sibling of backend/) — mounted here so the same
|
|
# walk-up-from-the-assembly lookup that works for `dotnet run`/tests also
|
|
# resolves inside this container, whose bind mount otherwise only sees backend/.
|
|
- ./public:/src/public:z
|
|
ports:
|
|
- '5000:5000'
|
|
|
|
web:
|
|
image: node:24
|
|
working_dir: /app
|
|
# Uses the committed generated client (no codegen at startup); proxies /api → api container.
|
|
# ponytail: `--no-fund --loglevel=error` silences npm 11's startup noise (deprecation +
|
|
# allow-scripts + funding) so the demo boots clean; ng serve output is unaffected. The
|
|
# deprecation lines are Angular 22's webpack-builder (@angular-devkit/build-angular) — a
|
|
# known upstream deprecation; migrating to @angular/build is a separate, larger effort.
|
|
command: sh -c "npm ci --no-fund --loglevel=error && npx ng serve --host 0.0.0.0 --proxy-config proxy.conf.docker.json"
|
|
volumes:
|
|
- ./:/app:z
|
|
- web-modules:/app/node_modules
|
|
ports:
|
|
- '4200:4200'
|
|
depends_on:
|
|
- api
|
|
|
|
volumes:
|
|
api-bin:
|
|
api-obj:
|
|
web-modules:
|