- Restructure .env.example with security-focused documentation, service-specific environment file references, and AWS Secrets Manager integration - Update CLI tests workflow to single Python 3.13 version, add pytest-mock dependency, and consolidate test execution with coverage - Add comprehensive security validation to package publishing workflow with manual approval gates, secret scanning, and release
76 lines
1.9 KiB
YAML
76 lines
1.9 KiB
YAML
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.5.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
- id: end-of-file-fixer
|
|
- id: check-yaml
|
|
- id: check-added-large-files
|
|
- id: check-json
|
|
- id: check-toml
|
|
- id: check-merge-conflict
|
|
- id: debug-statements
|
|
- id: check-docstring-first
|
|
|
|
- repo: https://github.com/psf/black
|
|
rev: 24.3.0
|
|
hooks:
|
|
- id: black
|
|
language_version: python3.13
|
|
args: [--line-length=88]
|
|
|
|
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
|
rev: v0.1.15
|
|
hooks:
|
|
- id: ruff
|
|
args: [--fix, --exit-non-zero-on-fix]
|
|
additional_dependencies:
|
|
- ruff==0.1.15
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
rev: v1.8.0
|
|
hooks:
|
|
- id: mypy
|
|
additional_dependencies:
|
|
- types-requests
|
|
- types-setuptools
|
|
- types-PyYAML
|
|
- sqlalchemy[mypy]
|
|
args: [--ignore-missing-imports, --strict-optional]
|
|
|
|
- repo: https://github.com/pycqa/isort
|
|
rev: 5.13.2
|
|
hooks:
|
|
- id: isort
|
|
args: [--profile=black, --line-length=88]
|
|
|
|
- repo: https://github.com/PyCQA/bandit
|
|
rev: 1.7.5
|
|
hooks:
|
|
- id: bandit
|
|
args: [-c, bandit.toml]
|
|
additional_dependencies:
|
|
- bandit==1.7.5
|
|
|
|
- repo: https://github.com/Yelp/detect-secrets
|
|
rev: v1.4.0
|
|
hooks:
|
|
- id: detect-secrets
|
|
args: [--baseline, .secrets.baseline]
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: dotenv-linter
|
|
name: dotenv-linter
|
|
entry: python scripts/focused_dotenv_linter.py
|
|
language: system
|
|
pass_filenames: false
|
|
args: [--check]
|
|
files: \.env\.example$|.*\.py$|.*\.yml$|.*\.yaml$|.*\.toml$|.*\.sh$
|
|
|
|
- id: file-organization
|
|
name: file-organization
|
|
entry: scripts/check-file-organization.sh
|
|
language: script
|
|
pass_filenames: false
|