From ee2e2faa13a63168bcf63b6ec612881ea6ad7ae6 Mon Sep 17 00:00:00 2001 From: Jan Niklas Hasse Date: Sat, 31 Oct 2020 00:43:23 +0100 Subject: GitHub Actions: Run more tests on Ubuntu 20.04 (Docker) --- .clang-tidy | 11 ++++++++++ .github/workflows/linux.yml | 53 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 .clang-tidy diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..8968011 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,11 @@ +--- +Checks: ' + ,readability-avoid-const-params-in-decls, + ,readability-non-const-parameter, + ,readability-redundant-string-cstr, +' +WarningsAsErrors: ' + ,readability-avoid-const-params-in-decls, + ,readability-non-const-parameter, + ,readability-redundant-string-cstr, +' diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 511b92b..9062d98 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -70,3 +70,56 @@ jobs: asset_path: ./artifact/ninja-linux.zip asset_name: ninja-linux.zip asset_content_type: application/zip + + test: + runs-on: [ubuntu-latest] + container: + image: ubuntu:20.04 + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: | + apt update + apt install -y python3-pytest ninja-build clang-tidy python3-pip clang + pip3 install cmake==3.17.* + - name: Configure (GCC) + run: cmake -Bbuild-gcc -DCMAKE_BUILD_TYPE=Debug -G'Ninja Multi-Config' + + - name: Build (GCC, Debug) + run: cmake --build build-gcc --config Debug + - name: Unit tests (GCC, Debug) + run: ./build-gcc/Debug/ninja_test + - name: Python tests (GCC, Debug) + run: pytest-3 --color=yes ../.. + working-directory: build-gcc/Debug + + - name: Build (GCC, Release) + run: cmake --build build-gcc --config Release + - name: Unit tests (GCC, Release) + run: ./build-gcc/Release/ninja_test + - name: Python tests (GCC, Release) + run: pytest-3 --color=yes ../.. + working-directory: build-gcc/Release + + - name: Configure (Clang) + run: CC=clang CXX=clang++ cmake -Bbuild-clang -DCMAKE_BUILD_TYPE=Debug -G'Ninja Multi-Config' -DCMAKE_EXPORT_COMPILE_COMMANDS=1 + + - name: Build (Clang, Debug) + run: cmake --build build-clang --config Debug + - name: Unit tests (Clang, Debug) + run: ./build-clang/Debug/ninja_test + - name: Python tests (Clang, Debug) + run: pytest-3 --color=yes ../.. + working-directory: build-clang/Debug + + - name: Build (Clang, Release) + run: cmake --build build-clang --config Release + - name: Unit tests (Clang, Release) + run: ./build-clang/Release/ninja_test + - name: Python tests (Clang, Release) + run: pytest-3 --color=yes ../.. + working-directory: build-clang/Release + + - name: clang-tidy + run: /usr/lib/llvm-10/share/clang/run-clang-tidy.py -header-filter=src + working-directory: build-clang -- cgit v0.12