Add CI workflow to check line endings of all source files (#2082)
In addition, all found errors (formatting & line ending) have been fixed in this PR.
This commit is contained in:
@@ -8,18 +8,19 @@ on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ubuntu:19.10
|
||||
check:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.3
|
||||
- name: apt-get update
|
||||
run: apt-get update
|
||||
run: sudo apt-get update
|
||||
|
||||
- name: Install clang-format
|
||||
run: apt-get -y install clang-format
|
||||
run: sudo apt-get -y install clang-format dos2unix
|
||||
|
||||
- name: Check formatting
|
||||
run: ./tools/check-format.sh
|
||||
|
||||
- name: Check line-endings
|
||||
run: ./tools/check-line-endings.sh
|
||||
|
||||
@@ -41,7 +41,7 @@ git submodule update --init --recursive
|
||||
The code is formatted using clang format in Qt Creator. [.clang-format](src/.clang-format) contains the style file for clang format.
|
||||
|
||||
### Get it automated with QT Creator + Beautifier + Clang Format
|
||||
1. Download LLVM: https://releases.llvm.org/9.0.0/LLVM-9.0.0-win64.exe
|
||||
1. Download LLVM: https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/LLVM-11.0.0-win64.exe
|
||||
2. During the installation, make sure to add it to your path
|
||||
3. In QT Creator, select `Help` > `About Plugins` > `C++` > `Beautifier` to enable the plugin
|
||||
4. Restart QT Creator
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "IrcMessageHandler.hpp"
|
||||
#include "IrcMessageHandler.hpp"
|
||||
|
||||
#include "Application.hpp"
|
||||
#include "controllers/accounts/AccountController.hpp"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
#include "common/Aliases.hpp"
|
||||
#include "common/Outcome.hpp"
|
||||
|
||||
@@ -8,6 +8,6 @@ struct Overloaded : Ts... {
|
||||
};
|
||||
|
||||
template <class... Ts>
|
||||
Overloaded(Ts...)->Overloaded<Ts...>;
|
||||
Overloaded(Ts...) -> Overloaded<Ts...>;
|
||||
|
||||
} // namespace chatterino
|
||||
|
||||
@@ -4,12 +4,14 @@ set -eu
|
||||
|
||||
fail="0"
|
||||
|
||||
clang-format --version
|
||||
|
||||
while read -r file; do
|
||||
if ! diff -u <(cat "$file") <(clang-format "$file"); then
|
||||
echo "$file differs!!!!!!!"
|
||||
fail="1"
|
||||
fi
|
||||
done < <(find src/ \( -iname "*.hpp" -o -iname "*.cpp" \))
|
||||
done < <(find src/ -type f \( -iname "*.hpp" -o -iname "*.cpp" \))
|
||||
|
||||
if [ "$fail" = "1" ]; then
|
||||
echo "At least one file is poorly formatted - check the output above"
|
||||
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
fail="0"
|
||||
|
||||
dos2unix --version
|
||||
|
||||
while read -r file; do
|
||||
num_dos_line_endings=$(dos2unix -id "$file" | awk '/[0-9]+/{print $(NF-1)}')
|
||||
if [ "$num_dos_line_endings" -gt "0" ]; then
|
||||
>&2 echo "File '$file' contains $num_dos_line_endings DOS line-endings, it should only be using unix line-endings!"
|
||||
fail="1"
|
||||
fi
|
||||
done < <(find src/ -type f \( -iname "*.hpp" -o -iname "*.cpp" \))
|
||||
|
||||
if [ "$fail" = "1" ]; then
|
||||
>&2 echo "At least one file is not using unix line-endings - check the output above"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
>&2 echo "Every file seems to be using unix line-endings. Good job!"
|
||||
Reference in New Issue
Block a user