Skip to content

Example: `nexa-backend`

nexa-backend uses Vitest only. Its package scripts include vitest run and watch-mode execution. Jest is not part of the backend standard.

nexa-backend uses the Node reusable workflow with strict TypeScript, Vitest unit tests, LCOV coverage for SonarQube, and production-only dependencies in the Bookworm Slim runtime image.

jobs:
ci:
uses: dataready-ai/nexa-ci/.github/workflows/node-ci.yml@v1
with:
node-version: '24'
test-command: npm run test
coverage-command: npm run test:coverage
image-name: nexa-backend
dockerfile: Dockerfile
docker-runtime-target: runtime
ecr-repository: aws-iac-nexa-backend
acr-repository: nexa-backend
spcs-repository: NEXA_BACKEND_REPO
sonar-project-key: nexa-backend
secrets: inherit

npm run format:check, npm run lint, npm run typecheck, npm run test, npm run test:watch, and npm run test:coverage must work locally and in CI. The Node 24 Bookworm Slim runtime image installs production dependencies only, copies compiled output, runs under a non-root user, and exposes no build credentials.

Unit tests isolate Snowflake, Databricks, identity, LLM, and other remote adapters. Deployed API, contract, and integration suites validate real credentials, networking, and service composition in Dev and Test. Playwright/Allure is post-deployment evidence, not the backend source-CI gate.