mirror of
https://github.com/authelia/authelia.git
synced 2026-10-28 09:34:52 +08:00
`reviewdog` runs every runner concurrently in the repository root, and two of them are `pnpm -C web exec eslint` and `pnpm -C docs exec eslint`. Every `pnpm exec` writes two or three filesystem probe files named `_tmp_<pid>_<hex>` into the directory it runs in and unlinks them immediately, so `web/` and `docs/` gain and lose untracked files while the `typos` runner is walking them. Nothing ignores those names, so the walk yields one and the `canonicalize()` in `walk_entry` then fails with `ENOENT`. Since v1.50.2 that no longer aborts the process, but it is still reported as an error, which makes `typos` exit 1 rather than 0 or 2. `run_typos` reads any other exit code as `typos` itself failing and emits `typos failed (exit 1): error: No such file or directory (os error 2)` against `.reviewdog.yml`, so the linting step fails on a tree that has nothing wrong with it. Nine of the last six hundred linting steps failed this way, and the second `reviewdog` pass in `post-command` passed on the same tree each time. Excluding the name closes the window rather than narrowing it, since the walker matches it against the `readdir` entry and never canonicalizes or reads the path. Churning probe files through `web/`, `docs/` and `internal/` while running `.buildkite/steps/lint.sh typos .` fails ten times out of ten without the exclusion and zero times out of ten with it. `crate-ci/typos#1622` proposes skipping a vanished path during the walk instead of reporting it, which would make this unnecessary, but it is neither merged nor released. Signed-off-by: Amir Zarrinkafsh <3339418+nightah@users.noreply.github.com>
86 lines
1.7 KiB
TOML
86 lines
1.7 KiB
TOML
# SPDX-FileCopyrightText: 2026 Authelia
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
[default]
|
|
locale = "en-us"
|
|
|
|
[default.extend-words]
|
|
# RFC 8176 fingerprint authentication method reference
|
|
fpt = "fpt"
|
|
# SMTP protocol command (not "hello")
|
|
HELO = "HELO"
|
|
helo = "helo"
|
|
# MITRE Corporation (proper noun, not "miter")
|
|
MITRE = "MITRE"
|
|
# HashiCorp (proper noun)
|
|
Hashi = "Hashi"
|
|
# Go variadic parameter name
|
|
datas = "datas"
|
|
# Contributor initials (FlorianObermayer)
|
|
fo = "fo"
|
|
Fo = "Fo"
|
|
FO = "FO"
|
|
# Test OAuth2 session identifier
|
|
ot = "ot"
|
|
Ot = "Ot"
|
|
# Test data for middleware sequence
|
|
acn = "acn"
|
|
ACN = "ACN"
|
|
# in-toto attestation format filename
|
|
intoto = "intoto"
|
|
# Intentional test endpoint name
|
|
anothe = "anothe"
|
|
# Appears in base64-encoded RSA key test data
|
|
fot = "fot"
|
|
Fot = "Fot"
|
|
# Fragments inside base64, tokens, hashes, and encoded test data
|
|
nd = "nd"
|
|
Nd = "Nd"
|
|
ND = "ND"
|
|
ba = "ba"
|
|
Ba = "Ba"
|
|
Bve = "Bve"
|
|
BA = "BA"
|
|
ue = "ue"
|
|
Ue = "Ue"
|
|
UE = "UE"
|
|
iy = "iy"
|
|
Iy = "Iy"
|
|
Iz = "Iz"
|
|
Pn = "Pn"
|
|
Thi = "Thi"
|
|
ABOV = "ABOV"
|
|
MYE = "MYE"
|
|
# Test data values (intentional misspellings in test inputs)
|
|
hass = "hass"
|
|
cpy = "cpy"
|
|
peom = "peom"
|
|
|
|
[files]
|
|
ignore-hidden = false
|
|
extend-exclude = [
|
|
".git/",
|
|
".claude/",
|
|
"_tmp_*",
|
|
"*.svg",
|
|
"go.sum",
|
|
"*-lock.yaml",
|
|
"*.css",
|
|
"*.pem",
|
|
"*.crt",
|
|
"*.crl",
|
|
"*.csr",
|
|
"docs/hugo_stats.json",
|
|
"docs/static/schemas/",
|
|
"docs/static/keys/",
|
|
"**/locales/*/",
|
|
"!**/locales/en/",
|
|
# Third-party config files (not ours to fix)
|
|
"internal/suites/example/compose/squid/",
|
|
"internal/suites/example/compose/redis/",
|
|
"internal/suites/example/compose/haproxy/",
|
|
"internal/suites/example/compose/ldap/",
|
|
"internal/suites/example/kube/ldap/",
|
|
]
|