chore: add lint check for large files

Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com>
This commit is contained in:
Christopher Phillips 2023-12-18 16:44:12 -05:00
parent 59eef3764f
commit f194de3060
No known key found for this signature in database
GPG Key ID: 17F8FF2EA7EF0AA0
2 changed files with 41 additions and 0 deletions

35
.github/scripts/check_binary_fixture_size.sh vendored Executable file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# Check if a directory is provided as an argument
if [ $# -eq 0 ]; then
echo "Usage: $0 <directory>"
exit 1
fi
directory="$1"
# Check if the directory exists
if [ ! -d "$directory" ]; then
echo "Directory not found: $directory"
exit 1
fi
# Use find to locate all files in the directory and its subdirectories
found_large_files=0
while IFS= read -r -d '' file; do
# Check if the file size is greater than 100 bytes
if [ $(wc -c < "$file") -gt 100 ]; then
echo "File $file is greater than 100 bytes."
found_large_files=1
fi
done < <(find "$directory" -type f -print0)
# Check if any large files were found
if [ "$found_large_files" -eq 1 ]; then
echo "Script failed: Some files are greater than 100 bytes."
exit 1
else
echo "All files in $directory and its subdirectories are 100 bytes or smaller. Script passed."
exit 0
fi

View File

@ -54,6 +54,7 @@ tasks:
- task: check-licenses - task: check-licenses
- task: lint - task: lint
- task: check-json-schema-drift - task: check-json-schema-drift
- task: check-binary-fixture-size
test: test:
desc: Run all levels of test desc: Run all levels of test
@ -169,6 +170,11 @@ tasks:
cmds: cmds:
- .github/scripts/json-schema-drift-check.sh - .github/scripts/json-schema-drift-check.sh
check-binary-fixture-size:
desc: Ensure that the binary test fixtures are not too large
cmds:
- .github/scripts/check_binary_fixture_size.sh syft/pkg/cataloger/binary/test-fixtures/classifiers/positive
## Testing tasks ################################# ## Testing tasks #################################