mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-11-21 16:37:20 +01:00
Add static check for overzealous .gitignores.
(cherry picked from commit 7ea171adca8d28d10aae68cfe8f36094683bc491)
This commit is contained in:
parent
a912658903
commit
51ecd46a06
5
.github/disabled_workflows/static_checks.yml
vendored
5
.github/disabled_workflows/static_checks.yml
vendored
@ -29,6 +29,11 @@ jobs:
|
||||
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-13 100
|
||||
sudo pip3 install black==22.3.0 pygments
|
||||
|
||||
# This needs to happen before Python and npm execution; it must happen before any extra files are written.
|
||||
- name: .gitignore checks (gitignore_check.sh)
|
||||
run: |
|
||||
bash ./misc/scripts/gitignore_check.sh
|
||||
|
||||
- name: File formatting checks (file_format.sh)
|
||||
run: |
|
||||
bash ./misc/scripts/file_format.sh
|
||||
|
26
misc/scripts/gitignore_check.sh
Executable file
26
misc/scripts/gitignore_check.sh
Executable file
@ -0,0 +1,26 @@
|
||||
set -uo pipefail
|
||||
shopt -s globstar
|
||||
|
||||
echo -e ".gitignore validation..."
|
||||
|
||||
# Get a list of files that exist in the repo but are ignored.
|
||||
|
||||
# The --verbose flag also includes files un-ignored via ! prefixes.
|
||||
# We filter those out with a somewhat awkward `awk` directive.
|
||||
# (Explanation: Split each line by : delimiters,
|
||||
# see if the actual gitignore line shown in the third field starts with !,
|
||||
# if it doesn't, print it.)
|
||||
|
||||
# ignorecase for the sake of Windows users.
|
||||
|
||||
output=$(git -c core.ignorecase=true check-ignore --verbose --no-index **/* | \
|
||||
awk -F ':' '{ if ($3 !~ /^!/) print $0 }')
|
||||
|
||||
# Then we take this result and return success if it's empty.
|
||||
if [ -z "$output" ]; then
|
||||
exit 0
|
||||
else
|
||||
# And print the result if it isn't.
|
||||
echo "$output"
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user