Docker: hadolint run through the `hadolint-docker` pre-commit hook is not credited

Aperta Adatta ai principianti
#260 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
62/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
docker, python, shell
Ambito
devtools

Direzione di ricerca

Inizia dal pattern hadolint in project_validator/ecosystems/docker/tools.py (il matcher _HADOLINT_RUNS vicino alla riga 30) e dalla costruzione di argv in project_validator/tools/pre_commit.py intorno alla riga 48, che costruisce (hook id, *words). L'ID dell'hook hadolint-docker deve essere riconosciuto come hadolint, quindi il matcher deve accettarlo insieme al programma hadolint esistente. Completato quando il caso del corpus per jupyter/docker-stacks riporta hadolint come in esecuzione e la suite di test continua a passare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

jupyter/docker-stacks runs hadolint on every Dockerfile via the hadolint/hadolint repo's hadolint-docker hook, and CI runs pre-commit (the validator credits shellcheck, shfmt, black, ruff, flake8, mypy, basedpyright and markdownlint from the same file), yet static-analysis FAILs "hadolint is configured (.hadolint.yaml) but does not run" and security-scanning WARNs. The hook's expansion yields an argv (a docker run hadolint/hadolint … entry) that the hadolint pattern does not match.

Evidence from the corpus audit

jupyter/docker-stacks / static-analysis (Docker), security-scanning (Docker)
  • kind: FALSE_NEGATIVE
  • actual: FAIL: Docker: hadolint is configured (.hadolint.yaml) but does not run; WARN security-scanning: Docker: no
    code security scanning found in CI configuration
  • expected: PASS: hadolint runs on every Dockerfile through the hadolint-docker pre-commit hook, and CI runs
    pre-commit (the validator credits shellcheck, shfmt, black, ruff, flake8, mypy, basedpyright, markdownlint from the
    same file). The hook expansion yields argv ("hadolint-docker",), which does not match the hadolint program.
  • evidence: .pre-commit-config.yaml:113: - repo: https://github.com/hadolint/hadolint; :116:
    - id: hadolint-docker (and again at :122-125); .github/workflows/pre-commit.yml runs pre-commit;
    validator project_validator/tools/pre_commit.py:48: Invocation(argv=(str(hook["id"]), *words), ...);
    project_validator/ecosystems/docker/tools.py:30: _HADOLINT_RUNS = starts(("hadolint",)).
  • repro: .pre-commit-config.yaml with repo https://github.com/hadolint/hadolint, hook hadolint-docker;
    .hadolint.yaml; a step uses: pre-commit/action@<sha>; a Dockerfile.
  • confidence: high

Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ByTXNqDWdM7HzezrFtEvQt

Lingua principale
Python
Stelle
4
Fork
1
Merge medio
10h 41m
PR unite (30g)
79

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cpp-best-practices/project_validator

Tutte le issue di cpp-best-practices/project_validator

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.