Add CI check for mixed line endings
Trigger workflow on all file changes. Closes https://github.com/wxWidgets/wxWidgets/pull/2224
This commit is contained in:
parent
7a74c0872c
commit
36ab71301c
33
.github/workflows/code_checks.yml
vendored
33
.github/workflows/code_checks.yml
vendored
@ -5,25 +5,9 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths:
|
|
||||||
- '.github/workflows/code_checks.yml'
|
|
||||||
- 'docs/**'
|
|
||||||
- 'include/**'
|
|
||||||
- 'interface/**'
|
|
||||||
- 'misc/suppressions/**'
|
|
||||||
- '**/*.md'
|
|
||||||
- '!docs/changes*txt'
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths:
|
|
||||||
- '.github/workflows/code_checks.yml'
|
|
||||||
- 'docs/**'
|
|
||||||
- 'include/**'
|
|
||||||
- 'interface/**'
|
|
||||||
- 'misc/suppressions/**'
|
|
||||||
- '**/*.md'
|
|
||||||
- '!docs/changes*txt'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-unix:
|
check-unix:
|
||||||
@ -66,3 +50,20 @@ jobs:
|
|||||||
':!**/*.sln' \
|
':!**/*.sln' \
|
||||||
':!**/*.vcproj' \
|
':!**/*.vcproj' \
|
||||||
':!**/*.xpm'
|
':!**/*.xpm'
|
||||||
|
|
||||||
|
|
||||||
|
check-mixed-eol:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
name: Check Mixed EOL
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install dos2unix
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y dos2unix
|
||||||
|
|
||||||
|
- name: Check for mixed EOL
|
||||||
|
run: |
|
||||||
|
./misc/scripts/check_mixed_eol.sh
|
||||||
|
35
misc/scripts/check_mixed_eol.sh
Executable file
35
misc/scripts/check_mixed_eol.sh
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd `dirname "$0"`/../..
|
||||||
|
|
||||||
|
find . \( \
|
||||||
|
-path './.git' -prune -o \
|
||||||
|
-path './3rdparty' -prune -o \
|
||||||
|
-path './src/expat' -prune -o \
|
||||||
|
-path './src/jpeg' -prune -o \
|
||||||
|
-path './src/png' -prune -o \
|
||||||
|
-path './src/tiff' -prune -o \
|
||||||
|
-path './src/zlib' -prune \) \
|
||||||
|
-o -type f -print0 |
|
||||||
|
(
|
||||||
|
while IFS= read -r -d '' file; do
|
||||||
|
case "$file" in
|
||||||
|
*.ani | *.bmp | *.chm | *.dia | *.gif | *.gz | *.hlp | *.icns | *.ico | *.jpg | *.mo | *.mpg | *.pcx | *.pdf | *.png | *.pnm | *.tga | *.tif | *.ttf | *.wav | *.zip )
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
read dos unix mac <<< $(dos2unix --info=dum "$file" | awk '{print $1, $2, $3}')
|
||||||
|
if [[ "$dos" -eq "0" ]] && [[ "$unix" -eq "0" ]]; then
|
||||||
|
:
|
||||||
|
elif [[ "$dos" -eq "0" ]] && [[ "$mac" -eq "0" ]]; then
|
||||||
|
:
|
||||||
|
elif [[ "$unix" -eq "0" ]] && [[ "$mac" -eq "0" ]]; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "$file has mixed EOL"
|
||||||
|
rc=$((rc+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit $rc
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user