All checks were successful
Deploy Fly.io Proxy / deploy (push) Successful in 1m30s
## Summary Monthly tooling dependency update cycle: - **Pre-commit hooks**: trufflehog v3.92.5→v3.93.4, ruff v0.14.13→v0.15.2, shellcheck v0.10.0.1→v0.11.0.1, prettier v3.8.0→v3.8.1, actionlint v1.7.10→v1.7.11 - **Fly.io Dockerfile**: pin nginx to 1.28.2-alpine (was unpinned), bump alloy v1.5.1→v1.13.1 - **Mise tasks**: normalize httpx lower bound to >=0.28.0 and typer to >=0.15.0 across all scripts - **Forgejo workflows**: actions/checkout@v4 is current, no changes needed - **New how-to doc**: [[update-tooling-dependencies]] documenting this monthly cycle ## No changes needed - pre-commit-hooks v6.0.0, yamllint v1.38.0, shfmt v3.12.0-2, taplo v0.9.3, ansible-lint 26.1.1 — all already at latest ## Test plan - [x] `uvx pre-commit run --all-files` — all 24 hooks pass - [ ] Fly.io deploy (triggered automatically on merge to main via deploy-fly workflow) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/254
138 lines
3.8 KiB
YAML
138 lines
3.8 KiB
YAML
---
|
|
# See https://pre-commit.com for more information
|
|
# Run: uvx pre-commit run --all-files
|
|
# Install: uvx pre-commit install
|
|
|
|
repos:
|
|
# General file hygiene
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v6.0.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
- id: end-of-file-fixer
|
|
- id: check-added-large-files
|
|
args: ['--maxkb=1000']
|
|
- id: check-merge-conflict
|
|
- id: check-json
|
|
- id: check-yaml
|
|
args: ['--unsafe'] # Allow custom tags (ansible uses them)
|
|
- id: check-toml
|
|
|
|
# Secret detection
|
|
- repo: https://github.com/trufflesecurity/trufflehog
|
|
rev: v3.93.4
|
|
hooks:
|
|
- id: trufflehog
|
|
entry: trufflehog git file://. --since-commit HEAD --no-verification --fail
|
|
stages: [pre-commit, pre-push]
|
|
|
|
# YAML linting
|
|
- repo: https://github.com/adrienverge/yamllint
|
|
rev: v1.38.0
|
|
hooks:
|
|
- id: yamllint
|
|
args: ['-c', '.yamllint.yaml']
|
|
|
|
# Ansible linting
|
|
- repo: local
|
|
hooks:
|
|
- id: ansible-lint
|
|
name: ansible-lint
|
|
entry: env ANSIBLE_ROLES_PATH=ansible/roles ansible-lint
|
|
language: python
|
|
files: ^ansible/
|
|
additional_dependencies:
|
|
- ansible-lint>=26.1.1
|
|
- ansible-core>=2.15
|
|
|
|
# Python - ruff for linting and formatting
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.15.2
|
|
hooks:
|
|
- id: ruff
|
|
args: ['--fix']
|
|
- id: ruff-format
|
|
|
|
# Shell scripts - shellcheck and shfmt
|
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
rev: v0.11.0.1
|
|
hooks:
|
|
- id: shellcheck
|
|
args: ['--severity=warning']
|
|
|
|
- repo: https://github.com/scop/pre-commit-shfmt
|
|
rev: v3.12.0-2
|
|
hooks:
|
|
- id: shfmt
|
|
args: ['-i', '2', '-ci', '-bn'] # 2-space indent, case indent, binary newline
|
|
|
|
# TOML - taplo
|
|
- repo: https://github.com/ComPWA/taplo-pre-commit
|
|
rev: v0.9.3
|
|
hooks:
|
|
- id: taplo-format
|
|
- id: taplo-lint
|
|
|
|
# JSON formatting (prettier for consistent style)
|
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
rev: v3.8.1
|
|
hooks:
|
|
- id: prettier
|
|
types_or: [json]
|
|
args: ['--tab-width', '2']
|
|
|
|
# GitHub/Forgejo Actions workflow linting
|
|
- repo: https://github.com/rhysd/actionlint
|
|
rev: v1.7.11
|
|
hooks:
|
|
- id: actionlint-system
|
|
args: ['-config-file', '.github/actionlint.yaml']
|
|
files: ^\.forgejo/workflows/
|
|
|
|
# Forgejo workflow schema validation (via Dagger + forgejo-runner validate)
|
|
- repo: local
|
|
hooks:
|
|
- id: validate-workflows
|
|
name: validate-workflows
|
|
entry: mise run validate-workflows
|
|
language: system
|
|
files: ^\.forgejo/workflows/
|
|
pass_filenames: false
|
|
|
|
# Container version consistency
|
|
- repo: local
|
|
hooks:
|
|
- id: container-version-check
|
|
name: container-version-check
|
|
entry: mise run container-version-check
|
|
language: system
|
|
files: ^(containers/|service-versions\.yaml)
|
|
pass_filenames: false
|
|
|
|
# Documentation validation
|
|
- repo: local
|
|
hooks:
|
|
- id: docs-check-filenames
|
|
name: docs-check-filenames
|
|
entry: mise run docs-check-filenames
|
|
language: system
|
|
files: ^docs/.*\.md$
|
|
pass_filenames: false
|
|
- id: docs-check-links
|
|
name: docs-check-links
|
|
entry: mise run docs-check-links
|
|
language: system
|
|
files: ^docs/.*\.md$
|
|
pass_filenames: false
|
|
- id: docs-check-index
|
|
name: docs-check-index
|
|
entry: mise run docs-check-index
|
|
language: system
|
|
files: ^docs/.*\.md$
|
|
pass_filenames: false
|
|
- id: docs-check-frontmatter
|
|
name: docs-check-frontmatter
|
|
entry: mise run docs-check-frontmatter
|
|
language: system
|
|
files: ^docs/.*\.md$
|
|
pass_filenames: false
|