From 5385ad415fad70ac7a99dad93eea57d7483a5af8 Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Thu, 30 Jul 2020 06:44:32 +0200 Subject: [PATCH] ci: Add validation for formatting using clang-format --- .github/workflows/main.yml | 4 +-- .github/workflows/validate.yml | 46 ++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/validate.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b28565a..cfad218 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,7 +43,7 @@ jobs: - name: "Configure Project" shell: bash run: | - cmake -H. -B"build/temp" -DCMAKE_PACKAGE_NAME="streamfx-${{ matrix.id }}" -DCMAKE_INSTALL_PREFIX="build/distrib" -DCMAKE_PACKAGE_PREFIX="build/package" -DOBS_DOWNLOAD=ON + cmake -H. -B"build/temp" -DCMAKE_INSTALL_PREFIX="build/distrib" -DCMAKE_PACKAGE_NAME="streamfx-${{ matrix.id }}" -DCMAKE_PACKAGE_PREFIX="build/package" -DOBS_DOWNLOAD=ON - name: "Build Project" shell: bash run: | @@ -138,7 +138,7 @@ jobs: - name: "Configure Project" shell: bash run: | - cmake -H. -B"build/temp" -DCMAKE_PACKAGE_NAME="streamfx-${{ matrix.id }}" -DCMAKE_INSTALL_PREFIX="build/distrib" -DCMAKE_PACKAGE_PREFIX="build/package" -DOBS_DOWNLOAD=ON + cmake -H. -B"build/temp" -DCMAKE_INSTALL_PREFIX="build/distrib" -DCMAKE_PACKAGE_NAME="streamfx-${{ matrix.id }}" -DCMAKE_PACKAGE_PREFIX="build/package" -DOBS_DOWNLOAD=ON - name: "Build Project" shell: bash run: | diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..6f442b2 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,46 @@ +name: Validation + +on: + pull_request: + branches: + - '*' + +jobs: + clang-format: + name: "clang-format" + runs-on: ubuntu-20.04 + env: + CC: clang-9 + CXX: clang-9 + CMAKE_GENERATOR: "Ninja" + steps: + - name: "Clone Repository" + uses: actions/checkout@v1 + - name: "Submodules & Packages" + shell: bash + run: | + git submodule update --init --recursive + sudo apt-get -qq update + sudo apt-get purge libjpeg9-dev:amd64 libjpeg8-dev:amd64 libjpeg-turbo8-dev:amd64 + sudo apt-get install build-essential clang clang-format checkinstall pkg-config cmake ninja-build git qt5-default libqwt-qt5-dev libqt5svg5-dev + - name: "Cache: Prerequisites" + uses: actions/cache@v2 + with: + path: | + build/temp/libobs-download/libobs-download-prefix/src/libobs.7z + key: ubuntu-20.04 + - name: "Configure & Format Project" + shell: bash + run: | + cmake -H. -B"build/temp" \ + -DCMAKE_INSTALL_PREFIX="build/distrib" \ + -DCMAKE_PACKAGE_NAME="streamfx-${{ matrix.id }}" -DCMAKE_PACKAGE_PREFIX="build/package" \ + -DOBS_DOWNLOAD=ON \ + -DENABLE_CLANG=TRUE + cmake --build "build/temp" --config RelWithDebInfo --target StreamFX_CLANG-FORMAT + - name: "Validate Formatting" + shell: bash + run: | + git --no-pager diff --patch --minimal HEAD -- + git update-index --refresh + git diff-index --quiet HEAD -- \ No newline at end of file