Skip to content

pelotech/github-action-file-size-checker

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

File Size Checker Action

File Size Checker ensures every newly added file in a pull request stays below a size threshold that you define. Drop it into any workflow to keep oversized binaries or assets from entering your repository.

Quick Start

name: Check File Sizes

on:
  pull_request:
    branches:
      - main

jobs:
  check-size:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Fail if new files are committed over 25KiB
        id: size_check
        uses: pelotech/github-action-file-size-checker@v0.1.2
        with:
          max_file_size_kib: '25'

Inputs

Name Required Default Description
max_file_size_kib Yes 20 Maximum filesize, in kilobytes, that any newly added file may have.
base_sha Yes ${{ github.event.pull_request.base.sha }} Commit SHA used as the lower bound of the diff. Override this if you need to compare against a custom baseline (for example, on push workflows).
head_sha Yes ${{ github.event.pull_request.head.sha }} Commit SHA used as the upper bound of the diff. Override when running outside of a pull request.

Tip: When the workflow runs inside a pull request, you can omit base_sha and head_sha because the defaults resolve automatically.

Outputs

  • violations_list: Markdown-formatted bullet list describing every new file above the size cap; empty string when no violations occur.
  • max_size_human: Human-readable representation of the chosen size limit (for example, 25KiB).

Usage Tips

  • Ensure the workflow fetches enough history (actions/checkout with fetch-depth: 0) so both SHAs exist locally.
  • The action only inspects files that are newly added between base_sha and head_sha. Updates to existing files are ignored by design.
  • If you run the action on push or scheduled workflows, provide valid base_sha/head_sha inputs to control the diff range.
  • Custom comparisons: Supply explicit base_sha and head_sha to compare across release branches or long-lived feature branches.
  • You can use the outputs with other actions to enhance the workflow when there are violations. For example, to post a PR comment when there are violations:
    - name: Post comment when violations exist
        if: steps.size_check.outputs.violations_list != ''
        uses: peter-evans/create-or-update-comment@v5
        with:
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            ## New File Size Violation Detected
    
            The following files exceed **${{ steps.size_check.outputs.max_size_human }}**:
    
            ${{ steps.size_check.outputs.violations_list }}
    
            Please shrink or remove the files above the limit.

About

github action to check file sizes that are committed to the repo

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages