mirror of
https://github.com/tykeal/homeassistant-rental-control.git
synced 2026-11-06 05:17:23 +00:00
The aislop pin had drifted four months and six minor releases behind upstream. Bump it, and record the pin as hand-maintained: `pre-commit autoupdate` never rewrites additional_dependencies. Releases up to 0.13.1 fetched their bundled ruff from an npm postinstall hook, which ran while pre-commit was building the hook environment. 0.14.0 dropped that hook, so the download can only happen once the hook is already running -- and pre-commit.ci executes hooks with no network access, where it can never succeed. Turn that constraint into a simplification by disabling the format and lint engines outright. Both are ruff, pinned to a release that trails the dedicated ruff hook, and letting the two versions drift is precisely what deadlocked #713, where each rejected the import layout the other demanded. The dedicated hook is now the single authority for Python lint and format. They are disabled rather than left to skip when ruff is missing. aislop resolves ruff from the project virtualenv or PATH before its own bundled copy, so a contributor with ruff installed would run these engines while CI did not -- the same version-dependent divergence, merely relocated. Disabling them fixes the result everywhere. Because no remaining engine shells out to a binary, a missing tool is now never expected, so failOnMissingTools is enabled to report one loudly instead of dropping an engine and still exiting 0. Scanned file coverage rises from 118 to 190, still at 100/100. Closes #782 Co-authored-by: Claude <claude@anthropic.com> Signed-off-by: Andrew Grimberg <tykeal@bardicgrove.org>
37 lines
1.4 KiB
YAML
37 lines
1.4 KiB
YAML
# SPDX-FileCopyrightText: 2026 Andrew Grimberg <tykeal@bardicgrove.org>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
---
|
|
|
|
version: 1
|
|
|
|
# aislop 0.10.x supports precise false-positive handling via inline
|
|
# `aislop-ignore-*` directives in source. Keep project-local config here.
|
|
|
|
# Fail the CI quality gate if the project score drops below a perfect 100.
|
|
# The whole tree is at 100/100; this prevents silent regressions.
|
|
ci:
|
|
failBelow: 100
|
|
|
|
# No enabled engine shells out to an external binary, so a missing tool
|
|
# is never expected and must be loud rather than silently dropped.
|
|
failOnMissingTools: true
|
|
|
|
# aislop's format and lint engines are ruff, pinned to a version that
|
|
# trails the dedicated ruff pre-commit hook. Running both invites the two
|
|
# releases to disagree: that is what deadlocked #713, where each rejected
|
|
# the import layout the other demanded. The dedicated hook is the single
|
|
# authority for Python lint and format.
|
|
#
|
|
# They are disabled explicitly rather than left to skip when ruff is
|
|
# absent. aislop resolves ruff from the project virtualenv or PATH before
|
|
# its own bundled copy, so a contributor with ruff installed would run
|
|
# these engines while CI did not, reintroducing exactly the version-
|
|
# dependent divergence this avoids. Disabling them pins the behaviour to
|
|
# the same result everywhere.
|
|
#
|
|
# What remains are pure-JS engines that need no external binaries.
|
|
engines:
|
|
format: false
|
|
lint: false
|