Skip to main content

Hadolint Package

ModularPipelines.Hadolint provides strongly typed access to the Hadolint Dockerfile linter.

Installation​

dotnet add package ModularPipelines.Hadolint

The hadolint executable must be installed and available on PATH when the pipeline runs.

Lint Dockerfiles​

using ModularPipelines.Hadolint.Enums;
using ModularPipelines.Hadolint.Options;

var result = await context.Tools.Hadolint.ExecuteAsync(
new HadolintExecuteOptions
{
Dockerfiles = ["Dockerfile", "build/Dockerfile"],
Format = HadolintFormat.Sarif,
Error = ["DL3006"],
Ignore = ["DL3008"],
FailureThreshold = HadolintFailureThreshold.Warning,
},
cancellationToken: cancellationToken);

This renders the equivalent of:

hadolint Dockerfile build/Dockerfile --format sarif --error DL3006 --ignore DL3008 --failure-threshold warning

Rule-level overrides, ignored rules, trusted registries, and required-label schemas accept multiple values and emit their option once per value.