Skip to content

Commit ea0b7fd

Browse files
adamtheturtleclaude
andcommitted
Switch hadolint to hadolint-coatl in the dev extra
The ``hadolint-py`` wheel published on PyPI for macOS is a corrupt archive and fails to extract, so it cannot be used as a dependency. Use ``hadolint-coatl`` instead, and run it through a ``local`` prek hook so that its version is managed alongside the other tools in the ``dev`` extra, matching how ``shellcheck`` and ``shfmt`` are handled. Closes #3427 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 3cd5fe7 commit ea0b7fd

3 files changed

Lines changed: 27 additions & 10 deletions

File tree

‎prek.toml‎

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,6 @@ hooks = [
9898
}
9999
]
100100

101-
[[repos]]
102-
repo = "https://github.com/AleksaC/hadolint-py"
103-
rev = "v2.15.1"
104-
hooks = [
105-
{
106-
id = "hadolint",
107-
stages = ["pre-commit"]
108-
}
109-
]
110-
111101
[[repos]]
112102
repo = "local"
113103
hooks = [
@@ -134,6 +124,15 @@ hooks = [
134124
additional_dependencies = ["uv==0.11.7"],
135125
stages = ["pre-commit"]
136126
},
127+
{
128+
id = "hadolint",
129+
name = "hadolint",
130+
entry = "uv run --extra=dev hadolint",
131+
language = "python",
132+
types_or = ["dockerfile"],
133+
additional_dependencies = ["uv==0.11.7"],
134+
stages = ["pre-commit"]
135+
},
137136
{
138137
id = "pydocstringformatter",
139138
name = "pydocstringformatter",

‎pyproject.toml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ optional-dependencies.dev = [
6161
"docker==7.2.0",
6262
"freezegun==1.5.5",
6363
"furo==2025.12.19",
64+
# We use ``hadolint-coatl`` rather than ``hadolint-py`` because the
65+
# ``hadolint-py`` macOS wheel published on PyPI is a corrupt archive and
66+
# cannot be installed.
67+
"hadolint-coatl==2.15.1",
6468
"interrogate==1.7.0",
6569
"mypy[faster-cache]==2.3.1",
6670
"mypy-strict-kwargs==2026.8.25.1",

‎uv.lock‎

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)