After making code changes in this repository, always do all applicable steps below before wrapping up:
- Run relevant tests.
- Rebuild and restart Docker services when the change can affect the running app.
- Check container status after restart.
- If a container is not healthy, inspect logs before reporting completion.
Use Docker-based tests by default.
Primary test command:
npm run test:dockerEquivalent explicit command:
docker compose -f docker-compose.test.yml up --build --abort-on-container-exit --exit-code-from testsThis test flow uses:
docker-compose.test.yml- PostgreSQL test container
db-test testsservice built from Dockertarget: builderwithINSTALL_DEV=true
Do not use the local C:\Python312\python.exe / PYTHONPATH workaround as the default validation path.
Only use local direct pytest as a temporary debugging fallback when Docker testing is not practical, and clearly say so.
Important:
- The Docker test command may print an orphan-container warning for the main app containers. That is expected in this repo.
- Do not add
--remove-orphansto the Docker test command, because it can interfere with the running app stack.
When changes touch templates, static assets, Docker files, startup behavior, runtime behavior, or anything user-visible in the app, run:
docker compose -f docker-compose.yml up -d --buildThen always verify status:
docker compose -f docker-compose.yml psIf cronator is still in health: starting, wait briefly and check again.
If any container is unhealthy, restarting, or missing, inspect logs before finishing:
docker compose -f docker-compose.yml logs --tail=100 cronator
docker compose -f docker-compose.yml logs --tail=100 dbDo not say the task is done until:
- the relevant tests pass, and
docker compose psshows the expected containers up, andcronatoris healthy after rebuild when Docker was part of the change.