From d46b82e11e2a5a0e73400b9fca816a806bda909c Mon Sep 17 00:00:00 2001 From: SnapOtter Date: Tue, 16 Jun 2026 17:48:58 +0800 Subject: [PATCH] test: run the docker suite without the coverage gate pnpm test:docker ran pnpm test:ci (vitest --coverage), but the lean test image deliberately skips binary-gated tools (AI model bundles, LibreOffice, etc.), so it can never meet the host-calibrated coverage thresholds -- the container exited non-zero on coverage even with zero test failures. Point the compose command at vitest run so test:docker is a clean functional pass/fail gate; coverage stays enforced on host CI where every tool is present. --- docker/docker-compose.test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docker/docker-compose.test.yml b/docker/docker-compose.test.yml index 343ca198..bcace418 100644 --- a/docker/docker-compose.test.yml +++ b/docker/docker-compose.test.yml @@ -10,7 +10,11 @@ services: context: .. dockerfile: docker/Dockerfile.test container_name: SnapOtter-test-unit - command: ["pnpm", "test:ci"] + # Functional gate: run the suite without --coverage. The lean test image + # skips binary-gated tools (AI models need on-demand bundles, etc.), so it + # cannot meet the host-calibrated coverage thresholds; coverage stays + # enforced on host CI where every tool is present. + command: ["pnpm", "vitest", "run", "--reporter=verbose"] environment: - NODE_ENV=test - AUTH_ENABLED=true