CI: check that all png images are on git LFS (#5321)

To prevent egui repository from growing forever

* Sibling PR: https://github.com/emilk/egui/pull/5320
This commit is contained in:
Emil Ernerfeldt 2024-10-29 10:30:25 +01:00 committed by GitHub
parent 9e763fcc01
commit 68352fc13e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 1 deletions

23
.github/workflows/png_only_on_lfs.yml vendored Normal file
View File

@ -0,0 +1,23 @@
name: All; .png on git LFS
on: [push, pull_request]
jobs:
check-binary-files:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check that png files are on git LFS
run: |
binary_extensions="png"
# Find binary files that are not tracked by Git LFS
for ext in $binary_extensions; do
if comm -23 <(git ls-files | sort) <(git lfs ls-files -n | sort) | grep "\.${ext}$"; then
echo "Error: Found binary file with extension .$ext not tracked by git LFS. See CONTRIBUTING.md"
exit 1
fi
done

View File

@ -35,9 +35,11 @@ You can test your code locally by running `./scripts/check.sh`.
There are snapshots test that might need to be updated. Run the tests with `UPDATE_SNAPSHOTS=true` to update them.
For more info about the tests see [egui_kittest](./crates/egui_kittest/README.md).
We use [git-lfs](https://git-lfs.com/) to store big files in the repository.
We use [git-lfs](https://git-lfs.com/) to store big files in the repository.
Make sure you have it installed (running `git lfs ls-files` from the repository root should list some files).
Don't forget to run `git lfs install` after installing the git-lfs binary.
You need to add any .png images to `git lfs`.
If the CI complains about this, make sure you run `git add --renormalize .`.
If you see an `InvalidSignature` error when running snapshot tests, it's probably a problem related to git-lfs.