Skip to content

GitHub Action to detect Large Files in a Pull Request

License

Notifications You must be signed in to change notification settings

BondOrigination/lfs-warning

 
 

Repository files navigation

LFS-Warning action

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.

How it works

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 string version https://git-lfs.github.com/spec/v1

pr-with-lfs-detected

Note: Remember to configure the branch protection rule and select the LFS-warning status when you enable the Required status check to pass option.

status-check

Inputs

filesizelimit

Optional. 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.

token

Optional. Takes a valid GitHub Token from the Repo by default.

exclusionPatterns

Optional. A newline delimited list of glob patterns that match checked in files to exclude form LFS Warning.

labelName

Optional. The name of the label, defaults to lfs-detected!

labelColor

Optional. The color of the label, defaults to ff1493.

Outputs

lfsFiles

Returns an array of possible detected large file(s)

Usage

Consume the action by referencing the stable release

uses: ppremk/lfs-warning@v3.2
with:
  token: ${{ secrets.GITHUB_TOKEN }} # Optional
  filesizelimit: 10MB
  exclusionPatterns: |
    **/*.png

Contributers

About

GitHub Action to detect Large Files in a Pull Request

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.3%
  • JavaScript 0.7%