when: - event: [push, pull_request] steps: api-contract: image: node:24.21.0-alpine3.23 commands: - node scripts/check-api-contract.mjs core-and-web: image: node:24.21.0-alpine3.23 directory: packages/core commands: - npm ci - npm run typecheck - npm test - npm run vectors:check - npm run build web: image: node:24.21.0-alpine3.23 directory: web commands: - npm ci - npm run typecheck - npm run lint:css - npm test - npm run build server: image: mcr.microsoft.com/dotnet/sdk:10.0 commands: - dotnet test server/WebDrop.slnx --configuration Release --verbosity minimal compose-config: image: docker:29.8.1-cli-alpine3.24 commands: - docker compose --env-file .env.example config --quiet