clusterflux-public/scripts/check-code-size.sh
Clusterflux release 3996d91ee0 Public release release-ffc6f14a3723
Source commit: ffc6f14a3723ea6aa513613a5406d737f21b201d

Public tree identity: sha256:a77575c31dda8de868bc8de91d94df55c46f0b028e755e56a8cce8e27f72a42b
2026-07-19 16:41:50 +02:00

27 lines
723 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$repo_root"
maximum_lines=3000
failed=0
source_roots=(crates)
if [[ -d private/hosted-policy/src ]]; then
source_roots+=(private/hosted-policy/src)
fi
while IFS= read -r -d '' file; do
case "$file" in
*/tests.rs|*/tests/*) continue ;;
esac
lines="$(wc -l < "$file")"
if ((lines > maximum_lines)); then
printf '%s has %s lines; production file limit is %s\n' "$file" "$lines" "$maximum_lines" >&2
failed=1
fi
done < <(find "${source_roots[@]}" -type f -name '*.rs' -print0)
if ((failed)); then
exit 1
fi
printf 'production source file size guard passed (%s lines maximum)\n' "$maximum_lines"