repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: mixed-line-ending - repo: https://github.com/Lucas-C/pre-commit-hooks rev: v1.1.9 hooks: - id: remove-tabs - repo: https://github.com/psf/black rev: 20.8b1 hooks: - id: black files: 'server/' types: [python] language_version: python3.8 - repo: https://github.com/timothycrosley/isort rev: '5.4.2' hooks: - id: isort files: 'server/' types: [python] exclude: server/szurubooru/migrations/env.py additional_dependencies: - toml - repo: https://github.com/prettier/prettier rev: '2.1.1' hooks: - id: prettier files: client/js/ exclude: client/js/.gitignore args: ['--config', 'client/.prettierrc.yml'] - repo: https://github.com/pre-commit/mirrors-eslint rev: v7.8.0 hooks: - id: eslint files: client/js/ args: ['--fix'] additional_dependencies: - eslint-config-prettier - repo: https://gitlab.com/pycqa/flake8 rev: '3.8.3' hooks: - id: flake8 files: server/szurubooru/ additional_dependencies: - flake8-print args: ['--config=server/.flake8'] - repo: local hooks: - id: docker-build-client name: Docker - build client entry: bash -c 'docker build client/' language: system types: [file] files: client/ pass_filenames: false - id: docker-build-server name: Docker - build server entry: bash -c 'docker build server/' language: system types: [file] files: server/ pass_filenames: false - id: pytest name: pytest entry: bash -c 'docker run --rm -t $(docker build --target testing -q server/) szurubooru/' language: system types: [python] files: server/szurubooru/ exclude: server/szurubooru/migrations/ pass_filenames: false stages: [push] - id: pytest-cov name: pytest entry: bash -c 'docker run --rm -t $(docker build --target testing -q server/) --cov-report=term-missing:skip-covered --cov=szurubooru szurubooru/' language: system types: [python] files: server/szurubooru/ exclude: server/szurubooru/migrations/ pass_filenames: false verbose: true stages: [manual] fail_fast: true exclude: LICENSE.md