Files
mostovik-backend/.pre-commit-config.yaml
Aleksandr Meshchriakov 77d84b9778
Some checks failed
CI/CD Pipeline / Manual Action Help (push) Has been skipped
CI/CD Pipeline / Build Golden Images (push) Has been skipped
CI/CD Pipeline / Start Dev Containers in Dokploy (push) Has been skipped
CI/CD Pipeline / Drop and Recreate Dev Database (push) Has been skipped
CI/CD Pipeline / Quality Gate (push) Failing after 7s
CI/CD Pipeline / Build and Push Images (push) Has been skipped
CI/CD Pipeline / Deploy Dev in Dokploy (push) Has been skipped
CI/CD Pipeline / Internal Notify (push) Successful in 1s
ci: use reusable golden images
2026-04-28 20:34:05 +02:00

92 lines
2.7 KiB
YAML

default_install_hook_types: [pre-commit, pre-push]
default_stages: [pre-commit]
minimum_pre_commit_version: "3.6.0"
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.1.14
hooks:
- id: ruff
name: ruff lint
files: ^(src|tests|scripts)/.*\.py$
args: [--fix, --exit-non-zero-on-fix]
exclude: |
(?x)^(
src/.*/migrations/.*|
.*/__pycache__/.*
)$
- id: ruff-format
name: ruff format
files: ^(src|tests|scripts)/.*\.py$
args: []
exclude: |
(?x)^(
src/.*/migrations/.*|
.*/__pycache__/.*
)$
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: trailing-whitespace
name: check trailing whitespace
- id: end-of-file-fixer
name: fix end of file
- id: check-yaml
name: check yaml syntax
files: ^(\.gitea/workflows/.*\.ya?ml|docker-compose.*\.ya?ml|.*\.ya?ml)$
- id: check-added-large-files
name: check large files
args: ["--maxkb=500"]
- id: check-merge-conflict
- id: detect-private-key
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.11.0.1
hooks:
- id: shellcheck
files: ^(scripts|docker/scripts)/.*\.sh$
- repo: local
hooks:
- id: hadolint-docker
name: hadolint dockerfiles
entry: bash -c 'for file in "$@"; do docker run --rm -i ghcr.io/hadolint/hadolint:latest hadolint - < "$file"; done' --
language: system
files: ^docker/.*Dockerfile.*$
- id: django-check-migrations
name: django check migrations
entry: ./scripts/check-migrations.sh
language: script
files: ^src/.*\.py$
pass_filenames: false
exclude: |
(?x)^(
src/.*/migrations/.*|
src/.*/__pycache__/.*
)$
- id: docker-compose-dev-config
name: docker compose dev config check
entry: docker compose -f docker-compose.dev.yml config -q
language: system
pass_filenames: false
files: ^(docker-compose\.dev\.yml|docker/Dockerfile|docker/scripts/.*\.sh)$
- id: docker-compose-prod-config
name: docker compose prod config check
entry: docker compose -f docker-compose.prod.yml --env-file .env.prod config -q
language: system
pass_filenames: false
files: ^(docker-compose\.prod\.yml|docker/Dockerfile|docker/scripts/.*\.sh|\.env\.prod)$
- id: pytest
name: pytest suite
entry: ./scripts/run-tests.sh
language: script
pass_filenames: false
stages: [pre-push]
always_run: true