Troubleshooting
"results.json not found"
generate-ci-report.mjs needs the output of run-ci.mjs:
node ci/scripts/run-ci.mjs
node ci/scripts/generate-ci-report.mjs
A phase shows as BLOCKED
The working directory was not found (backend / dashboard). Point
IQV_PROJECT_ROOT at the repository root.
MongoDB / MinIO tests are skipped
Test guards do not connect to a real service when TEST_MONGODB_HOST /
TEST_MINIO_ENDPOINT are missing; they skip instead. Those variables are set
when the CI compose or Actions services are running. Locally without Docker the
skip is expected and is reported as a Normal İyileştirme.
Frontend tests time out
Component tests are heavy (antd rendering + userEvent). On low-core machines
even --maxWorkers=2 may not be enough:
IQV_CI_PHASE_TIMEOUT_MS=3600000 node ci/scripts/run-ci.mjs --only=frontend-tests
A timeout is recorded with exit code 124 and a timedOut: true flag so it can
be distinguished from a real failure.
ESLint is red but CI is green
That is expected: ESLint is warning level and does not block a release (see
quality-policy.md). To fix:
cd dashboard && npm run lint:fix
The security scan produced a false positive
Test files intentionally use fake secrets. The scanner ignores lines containing
these markers: test-only, <REDACTED>, process.env, @host (fake host),
.invalid (RFC 2606) and example.com/org/net.
The exemption is per line, not per file — no test file is excluded wholesale.
When adding a new fake value, use one of the markers above, e.g.
smtp.example.com or user@iqv.invalid.
Docker Desktop is not running
docker compose commands will not work. See local-run.md for the Docker-free
path; the absence of Docker is not a code failure.
The report shows "0 points"
If no phase in a category executed, the score is 0 — this is intentional. No
credit is granted without evidence. Check the status field of the relevant
phase in results.json.