lizerk d2e7f1e08d
All checks were successful
Deploy production / deploy (push) Successful in 12m2s
Make PostgreSQL quality cleanup reliable
2026-09-11 00:35:08 +03:00
..

Local quality gates

The checks run entirely on the development computer. GitHub and Gitea are not contacted, except by the git push that starts the pre-push hook.

Setup

Install the project dependencies, then enable the versioned hooks for this checkout:

cd backend
python -m pip install -r requirements-ci.txt
cd ../frontend
npm ci
cd ..
./tools/quality/install-hooks.sh

Each clone or independently configured worktree needs the one-time activation command. Merely receiving .githooks through a mirror does not activate them.

Commands

./tools/quality/quality.sh quick
./tools/quality/quality.sh test
./tools/quality/quality.sh release
  • quick checks formatting, lint, Django configuration and missing migrations.
  • test also runs both test suites, the production frontend build and all migrations on a fresh temporary PostgreSQL database.
  • release first requires the complete repository to pass Ruff, ESLint and Prettier, then runs everything from test.

pre-commit runs quick --staged. It refuses partially staged files so the checked content is exactly the content being committed. pre-push chooses test for develop, release for master, and quick for other branches.

PostgreSQL validation requires Docker with the postgres:17-alpine image. The temporary container is removed after the check.