chore(ci): guards against tracked build artefacts
This commit is contained in:
@@ -10,6 +10,8 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- name: Check repository hygiene
|
||||||
|
run: ./scripts/check-repo-hygiene.sh
|
||||||
- name: Install Docker CLI
|
- name: Install Docker CLI
|
||||||
run: apt-get update && apt-get install -y docker.io
|
run: apt-get update && apt-get install -y docker.io
|
||||||
- name: Login to Gitea container registry
|
- name: Login to Gitea container registry
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -22,6 +22,10 @@ Thumbs.db
|
|||||||
# .NET
|
# .NET
|
||||||
bin/
|
bin/
|
||||||
obj/
|
obj/
|
||||||
|
**/[Bb]in/
|
||||||
|
**/[Oo]bj/
|
||||||
|
**/[Bb]in[\\]*
|
||||||
|
**/[Oo]bj[\\]*
|
||||||
TestResults/
|
TestResults/
|
||||||
|
|
||||||
# Node
|
# Node
|
||||||
|
|||||||
25
scripts/check-repo-hygiene.sh
Executable file
25
scripts/check-repo-hygiene.sh
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
failed=0
|
||||||
|
|
||||||
|
tracked_build_outputs="$(git ls-files | grep -E '(^|/)([Bb]in|[Oo]bj)(/|\\)' || true)"
|
||||||
|
if [ -n "$tracked_build_outputs" ]; then
|
||||||
|
printf '%s\n' "Tracked build output paths found:" >&2
|
||||||
|
printf '%s\n' "$tracked_build_outputs" >&2
|
||||||
|
failed=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
tracked_backslash_paths="$(git ls-files | grep '\\' || true)"
|
||||||
|
if [ -n "$tracked_backslash_paths" ]; then
|
||||||
|
printf '%s\n' "Tracked paths containing literal backslashes found:" >&2
|
||||||
|
printf '%s\n' "$tracked_backslash_paths" >&2
|
||||||
|
failed=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$failed" -ne 0 ]; then
|
||||||
|
printf '%s\n' "Remove generated files from Git before building." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf '%s\n' "Repository hygiene check passed."
|
||||||
Reference in New Issue
Block a user