name: File Size Check on: [push, pull_request] jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10"] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Get changed files id: changed-files uses: tj-actions/changed-files@v18.4 - name: List all changed files run: | # MAXSIZE is 1 MB MAXSIZE=1000000 for FILENAME in ${{ steps.changed-files.outputs.all_changed_files }}; do FILESIZE=$(stat -c%s "$FILENAME") echo "Size of $FILENAME = $FILESIZE bytes." if (( FILESIZE > MAXSIZE)); then echo "$FILENAME is too big. Only $MAXSIZE bytes allowed." exit 1 fi done