This repository has been archived by the owner on May 26, 2024. It is now read-only.
Bump actions/upload-artifact from 3 to 4 (#19) #79
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: General Formatting Checks | |
on: | |
- pull_request | |
- push | |
jobs: | |
general-formatting-checks: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# https://github.com/per1234/formatting-checks | |
- name: Check for files starting with a blank line | |
run: find . -path './.git' -prune -or -path './src/boost' -prune -or -type f -print0 | xargs -0 -L1 bash -c 'head -1 "$0" | grep --binary-files=without-match --regexp="^$"; if [[ "$?" == "0" ]]; then echo "Blank line found at start of $0."; false; fi' | |
- name: Check for unnecessary use of true tabs | |
run: find . -path './.git' -prune -or -path './src/boost' -prune -or \( -not -name 'keywords.txt' -and -not -name '.gitmodules' -and -type f \) -exec grep --with-filename --line-number --binary-files=without-match --regexp=$'\t' '{}' \; -exec echo 'Tab found.' \; -exec false '{}' + | |
- name: Check for trailing whitespace | |
run: find . -path './.git' -prune -or -path './src/boost' -prune -or -type f -exec grep --with-filename --line-number --binary-files=without-match --regexp='[[:blank:]]$' '{}' \; -exec echo 'Trailing whitespace found.' \; -exec false '{}' + | |
- name: Check for non-Unix line endings | |
run: find . -path './.git' -prune -or -path './src/boost' -prune -or -type f -exec grep --files-with-matches --binary-files=without-match --regexp=$'\r$' '{}' \; -exec echo 'Non-Unix EOL detected.' \; -exec false '{}' + | |
- name: Check for blank lines at end of files | |
run: find . -path './.git' -prune -or -path './src/boost' -prune -or -type f -print0 | xargs -0 -L1 bash -c 'tail -1 "$0" | grep --binary-files=without-match --regexp="^$"; if [[ "$?" == "0" ]]; then echo "Blank line found at end of $0."; false; fi' | |
- name: Check for files that don't end in a newline | |
# https://stackoverflow.com/a/25686825 | |
run: find . -path './.git' -prune -or -path './src/boost' -prune -or -type f -print0 | xargs -0 -L1 bash -c 'if test "$(grep --files-with-matches --binary-files=without-match --max-count=1 --regexp='.*' "$0")" && test "$(tail --bytes=1 "$0")"; then echo "No new line at end of $0."; false; fi' |