This action works to prevent both:
- Large files that are not LFS tracked
- Files that are LFS tracked
from being checked-in in non-pointer format/not stored in LFS. The latter happens if the client does not have git-lfs installed.
This action scans files in commits of a pull request and will mark the pull request as failed, add a lfs-detected!
label and reply with an issue comment if any of the following is true about any of the pull request files:
- The file size is greater than the configured file size limit threshold.
- The file is tracked in LFS but is being checked-in as a regular file
- the current implementation of this check is that the file has git attribute
filter: lfs
but does not contain the stringversion https://git-lfs.github.com/spec/v1'
- the current implementation of this check is that the file has git attribute
Note: Remember to configure the branch protection rule and select the LFS-warning
status when you enable the Required status check to pass
option.
Required, set's the file size limit threshold. Accepts b
(bytes), mb
(megabytes) and gb
(gigabytes) as units of measurement, if omitted interprets as bytes.
Default 10mb
.
Optional. Takes a valid GitHub Token from the Repo by default.
Optional. A newline delimited list of glob patterns that match checked in files to exclude form LFS Warning.
Returns an array of possible detected large file(s)
Consume the action by referencing the stable release
uses: actionsdesk/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }} # Optional
with:
filesizelimit: 10MB
exclusionPatterns: |
**/*.png