Files
light-heart-labs--dreamserver/.pre-commit-config.yaml
T
wehub-resource-sync 9e8f1bbeed
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:33 +08:00

56 lines
2.4 KiB
YAML

# Pre-commit hooks for secret scanning + shell hygiene.
# Install: pip install pre-commit && pre-commit install
# Run manually: pre-commit run --all-files
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.21.2
hooks:
- id: gitleaks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: detect-private-key
- id: check-added-large-files
args: ['--maxkb=500']
# Shellcheck on the installer + scripts surface. Mirrors the failing
# second pass of .github/workflows/lint-shell.yml — `--severity=error`
# is the bar that already gates CI, so existing warnings on the tree
# do not tip the pre-commit run while genuine errors are caught
# locally before push.
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.10.0.1
hooks:
- id: shellcheck
name: shellcheck (installer + scripts, errors only)
files: ^ods/(installers|scripts)/.*\.(sh|bash)$
args: ['--exclude=SC1091,SC2034', '--severity=error']
# Catch legacy `…` command substitution anywhere in the installer
# surface. SC2006 is style-level so it's filtered out by the
# severity=error pass above; an explicit --include re-enables it
# without dragging the rest of style-level noise back in. The tree
# is currently zero-SC2006, so this hook starts as a regression guard.
- id: shellcheck
name: shellcheck SC2006 (no legacy backticks)
files: ^ods/(installers|scripts)/.*\.(sh|bash)$
args: ['--include=SC2006']
# Custom local hook (issue #509): forbid backticks inside the BODY of
# unquoted here-documents. Even when the rest of the file passes
# shellcheck, an `<<EOF` heredoc body that contains `…` will silently
# run command substitution — which is easy to miss in a code review of
# generated systemd units, config files, or README fragments shipped
# by installer phases. Quoted heredocs (<<'EOF' / <<"EOF") are
# exempt because they suppress expansion entirely.
- repo: local
hooks:
- id: no-backticks-in-installer-heredocs
name: no-backticks-in-installer-heredocs
description: Forbid `…` command substitution inside unquoted heredoc bodies under ods/installers and ods/scripts.
language: system
files: ^ods/(installers|scripts)/.*\.(sh|bash)$
entry: awk -f ods/scripts/check-heredoc-backticks.awk