Skip to content

Commit

Permalink
Add workflow for checking git-lfs files
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaelroquetto committed Sep 23, 2024
1 parent c3901b2 commit 46f49ca
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions .github/workflows/git-lfs-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Check git-lfs files

on:
push:
branches: [ 'main', 'release-*' ]
pull_request:
branches: [ 'main', 'release-*' ]

jobs:
git-lfs:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
lfs: true

- name: Check git-lfs files
run: |
files=$(git diff --name-only origin/main...HEAD | grep '\.o$' || true)
if [ -z "$files" ]; then
echo "No .o files modified"
exit 0
fi
for file in $files; do
contents=$(git cat-file -p :$file)
# Check if the file is binary or an LFS pointer
if [[ $contents == *"version https://git-lfs.github.com/spec/v1"* ]]; then
echo "The file '$file' is correctly tracked by LFS."
elif [[ ! $contents =~ ^[[:print:]]*$ ]]; then
echo "Error: The file '$file' is a binary file and should not be committed directly."
exit 1
fi
done

0 comments on commit 46f49ca

Please sign in to comment.