ci: reject golden filenames on matching PRs
This commit is contained in:
parent
546f2ae478
commit
b7cdad6360
2 changed files with 47 additions and 0 deletions
21
.github/workflows/expected-filenames.yml
vendored
Normal file
21
.github/workflows/expected-filenames.yml
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
name: Expected filenames
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '*[gG][oO][lL][dD][eE][nN]*'
|
||||||
|
- '**/*[gG][oO][lL][dD][eE][nN]*'
|
||||||
|
- '!vendor/**'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
expected-filenames:
|
||||||
|
name: no golden filenames
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Check tracked filenames
|
||||||
|
run: scripts/check-expected-filenames.sh
|
||||||
26
scripts/check-expected-filenames.sh
Executable file
26
scripts/check-expected-filenames.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Vendored upstream paths follow vendor/README.md instead of repository naming policy.
|
||||||
|
root=$(git rev-parse --show-toplevel)
|
||||||
|
candidate_file=$(mktemp)
|
||||||
|
trap 'unlink "$candidate_file"' EXIT
|
||||||
|
git -C "$root" ls-files -z -- \
|
||||||
|
':(icase,glob)*golden*' \
|
||||||
|
':(icase,glob)**/*golden*' \
|
||||||
|
':(exclude,glob)vendor/**' > "$candidate_file"
|
||||||
|
|
||||||
|
violations=()
|
||||||
|
while IFS= read -r -d '' path; do
|
||||||
|
violations+=("$path")
|
||||||
|
done < "$candidate_file"
|
||||||
|
|
||||||
|
if (( ${#violations[@]} == 0 )); then
|
||||||
|
echo 'check-expected-filenames: no tracked non-vendor filename contains "golden".'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 'check-expected-filenames: tracked non-vendor filenames must not contain "golden":' >&2
|
||||||
|
printf ' %s\n' "${violations[@]}" >&2
|
||||||
|
echo 'Rename each file with an accurate term such as "expected".' >&2
|
||||||
|
exit 1
|
||||||
Loading…
Add table
Reference in a new issue