fix(pipeline-doctor): read .woodpecker/ directory configs (#202)

The dev-tag-guard check missed repos whose Woodpecker config is a
.woodpecker/ directory of per-arch workflows (the refs/tags/v* trigger
never entered ci_txt). Now globs .woodpecker/*.yaml|*.yml too.
commonground-legacy + csi-s3 -> 9/9; trio + self-test still 9/9.
This commit is contained in:
Oleks
2026-06-04 21:04:09 +03:00
parent d265a79ddb
commit a9292e3914
2 changed files with 12 additions and 1 deletions
+7
View File
@@ -7,6 +7,13 @@ semantic versioning; the version is a conceptual tag (no git tag is created).
## Unreleased
- **Fix: `pipeline-doctor` now reads a `.woodpecker/` DIRECTORY (#202).** It only
folded the single-file `.woodpecker.yaml`/`.yml` into `ci_txt`; repos whose
Woodpecker config is a `.woodpecker/` directory (per-arch workflows) had their
`refs/tags/v*` trigger invisible, so the dev-tag-guard check false-failed.
Now globs `.woodpecker/*.yaml|*.yml` too. Effect: commonground-legacy + csi-s3
go 9/9. (cms-plugins still 8/9 — but legitimately: it's a *branch-deploy* repo
with no `v*` tag at all, a separate heuristic gap tracked elsewhere.)
- **Fix: `pipeline-doctor` token-heuristic false positives (#199).** The audit
sweep wrongly FAILED ~9 correctly-converted ci-script repos on two heuristics.
(1) The token-contract check only accepted a hard-coded `pass <literal-path>`;
+5 -1
View File
@@ -163,7 +163,11 @@ ci_txt=""
if [ -d "$REPO/ci" ]; then
ci_txt="$(cat "$REPO"/ci/*.sh 2>/dev/null || true)"
fi
for wp in "$REPO/.woodpecker.yaml" "$REPO/.woodpecker.yml"; do
# Woodpecker config may be a single file OR a .woodpecker/ DIRECTORY of per-arch
# workflows (cluster #202) — fold both forms into ci_txt so the dev-tag-guard /
# refs/tags/v* trigger is seen either way.
for wp in "$REPO/.woodpecker.yaml" "$REPO/.woodpecker.yml" \
"$REPO"/.woodpecker/*.yaml "$REPO"/.woodpecker/*.yml; do
[ -f "$wp" ] && ci_txt="$ci_txt
$(cat "$wp")"
done