Update optional files list in repo_health.yml
Signed-off-by: Jonathan Miller <jmiller2979@gmail.com>
This commit is contained in:
14
.github/workflows/repo_health.yml
vendored
14
.github/workflows/repo_health.yml
vendored
@@ -72,7 +72,7 @@ env:
|
|||||||
# Repo health policy
|
# Repo health policy
|
||||||
# Files are listed as-is; directories must end with a trailing slash.
|
# Files are listed as-is; directories must end with a trailing slash.
|
||||||
REPO_REQUIRED_ARTIFACTS: README.md,LICENSE,CHANGELOG.md,CONTRIBUTING.md,CODE_OF_CONDUCT.md,.github/workflows/,src/
|
REPO_REQUIRED_ARTIFACTS: README.md,LICENSE,CHANGELOG.md,CONTRIBUTING.md,CODE_OF_CONDUCT.md,.github/workflows/,src/
|
||||||
REPO_OPTIONAL_FILES: SECURITY.md,GOVERNANCE.md,.editorconfig,.gitattributes,.gitignore,README.md,docs/,dev/
|
REPO_OPTIONAL_FILES: SECURITY.md,GOVERNANCE.md,.editorconfig,.gitattributes,.gitignore,README.md,docs/
|
||||||
REPO_DISALLOWED_DIRS:
|
REPO_DISALLOWED_DIRS:
|
||||||
REPO_DISALLOWED_FILES: TODO.md,todo.md
|
REPO_DISALLOWED_FILES: TODO.md,todo.md
|
||||||
|
|
||||||
@@ -555,8 +555,14 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Optional entries: handle files and directories (trailing slash indicates dir)
|
||||||
for f in "${optional_files[@]}"; do
|
for f in "${optional_files[@]}"; do
|
||||||
[ ! -f "${f}" ] && missing_optional+=("${f}")
|
if printf '%s' "${f}" | grep -q '/$'; then
|
||||||
|
d="${f%/}"
|
||||||
|
[ ! -d "${d}" ] && missing_optional+=("${f}")
|
||||||
|
else
|
||||||
|
[ ! -f "${f}" ] && missing_optional+=("${f}")
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
for d in "${disallowed_dirs[@]}"; do
|
for d in "${disallowed_dirs[@]}"; do
|
||||||
@@ -573,6 +579,8 @@ jobs:
|
|||||||
dev_paths=()
|
dev_paths=()
|
||||||
dev_branches=()
|
dev_branches=()
|
||||||
|
|
||||||
|
# Look for remote branches matching origin/dev*.
|
||||||
|
# A plain origin/dev is considered invalid; we require dev/<something> branches.
|
||||||
while IFS= read -r b; do
|
while IFS= read -r b; do
|
||||||
name="${b#origin/}"
|
name="${b#origin/}"
|
||||||
if [ "${name}" = 'dev' ]; then
|
if [ "${name}" = 'dev' ]; then
|
||||||
@@ -582,10 +590,12 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
done < <(git branch -r --list 'origin/dev*' | sed 's/^ *//')
|
done < <(git branch -r --list 'origin/dev*' | sed 's/^ *//')
|
||||||
|
|
||||||
|
# If there are no dev/* branches, fail the guardrail.
|
||||||
if [ "${#dev_paths[@]}" -eq 0 ]; then
|
if [ "${#dev_paths[@]}" -eq 0 ]; then
|
||||||
missing_required+=("dev/* branch (e.g. dev/01.00.00)")
|
missing_required+=("dev/* branch (e.g. dev/01.00.00)")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# If a plain dev branch exists (origin/dev), flag it as invalid.
|
||||||
if [ "${#dev_branches[@]}" -gt 0 ]; then
|
if [ "${#dev_branches[@]}" -gt 0 ]; then
|
||||||
missing_required+=("invalid branch dev (must be dev/<version>)")
|
missing_required+=("invalid branch dev (must be dev/<version>)")
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user