diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 25fe61a5aa2ca0b584765781a56c22739baa25df..ffb042b08cee789ab4f19ab82d727946abb16c00 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,7 +51,6 @@ include: - local: '/scripts/ci/jobs/build-docs.yml' - local: '/scripts/ci/jobs/build-win.yml' - local: '/scripts/ci/jobs/build-mac.yml' - - local: '/scripts/ci/jobs/checks.yml' # - template: 'Code-Quality.gitlab-ci.yml' # see !3053 - local: '/scripts/ci/jobs/code-quality.yml' - local: '/scripts/ci/jobs/code-coverage.yml' diff --git a/scripts/ci/extends/template-build-linux.yml b/scripts/ci/extends/template-build-linux.yml index 0654504d5515c61c08c42abdcd0ba7093fd4565e..e39b5e74b1a9e70a2035a9a5d0f639d871b4ec46 100644 --- a/scripts/ci/extends/template-build-linux.yml +++ b/scripts/ci/extends/template-build-linux.yml @@ -29,3 +29,7 @@ else $BUILD_CMD_PREFIX cmake --build . --target ${TARGETS} > >(tee make.output) fi + - | + if [[ "$CHECK_WARNINGS" = true ]] ; then + if [[ $(cat make.output | grep warning -i) ]]; then printf 'There were compiler warnings:\n\n'; cat make.output | grep warning -i; exit 1; fi + fi diff --git a/scripts/ci/extends/template-build-win.yml b/scripts/ci/extends/template-build-win.yml index cba0eb9f2bf02cd79dfa12426cad7eb9ec3dd754..fb18920ddf24c296326e00b13096ac7720037c4e 100644 --- a/scripts/ci/extends/template-build-win.yml +++ b/scripts/ci/extends/template-build-win.yml @@ -25,3 +25,10 @@ - if($env:BUILD_TESTS -eq "true") { cmake --build . --target tests } - if($env:BUILD_CTEST -eq "true") { cmake --build . --target ctest } - if($env:BUILD_CTEST -eq "true") { cp Testing/**/Test.xml Tests/ctest.xml } + - | + if($env:CHECK_WARNINGS -eq "true" -and (cat make.output | Select-String -Pattern ': warning') ) + { + Write-Output 'There were compiler warnings:\n' + cat make.output | Select-String -Pattern ': warning' + exit 1 + } diff --git a/scripts/ci/jobs/build-linux.yml b/scripts/ci/jobs/build-linux.yml index ef375adff313cdddd19a5c5fa5f7e27341fd2119..3dd53aa4bba283c3d39db7a7e768d636b967b698 100644 --- a/scripts/ci/jobs/build-linux.yml +++ b/scripts/ci/jobs/build-linux.yml @@ -50,6 +50,7 @@ build linux (no unity): BUILD_DIR: "no-unity" BUILD_TESTS: "false" BUILD_CTEST: "false" + CHECK_WARNINGS: "true" CMAKE_PRESET: release CMAKE_ARGS: >- -DOGS_USE_PYTHON=OFF diff --git a/scripts/ci/jobs/build-mac.yml b/scripts/ci/jobs/build-mac.yml index 2c85a2a1af108212e0f3d0313a274162c59518ee..04eb3319bbb8f945435689b87d7b77f1666905b5 100644 --- a/scripts/ci/jobs/build-mac.yml +++ b/scripts/ci/jobs/build-mac.yml @@ -7,6 +7,7 @@ build mac: needs: [meta] variables: BUILD_DIR: "mac-release" + CHECK_WARNINGS: "true" CMAKE_PRESET: release CMAKE_ARGS: >- -DOGS_INSTALL_DEPENDENCIES=ON diff --git a/scripts/ci/jobs/build-win.yml b/scripts/ci/jobs/build-win.yml index bf991fb6bc64776df2a4f4a54d1dc0c3ae5b58b9..9c2ed063ede0a1ba66d3403d8767a8421aea293e 100644 --- a/scripts/ci/jobs/build-win.yml +++ b/scripts/ci/jobs/build-win.yml @@ -8,6 +8,7 @@ build win: allow_failure: true variables: BUILD_DIR: win-release + CHECK_WARNINGS: "true" CMAKE_PRESET: release CMAKE_ARGS: >- -DOGS_CI_TESTRUNNER_REPEAT=1 diff --git a/scripts/ci/jobs/checks.yml b/scripts/ci/jobs/checks.yml deleted file mode 100644 index c3a993ce5ef828290f040e32451594f799aaa631..0000000000000000000000000000000000000000 --- a/scripts/ci/jobs/checks.yml +++ /dev/null @@ -1,16 +0,0 @@ -compiler warnings: - stage: check - image: ubuntu:20.04 - variables: - GIT_STRATEGY: none - allow_failure: true - needs: - - job: "build linux (no unity)" - - job: "build win: [USE_PYTHON=ON]" - - job: build mac - script: - - exit_code=0 - - "if [[ $(cat build/no-unity/make.output | grep warning -i) ]]; then printf 'There were GCC compiler warnings:\n\n'; cat make.output | grep warning -i; exit_code=1; fi" - - "if [[ $(cat build/win-release/make.output | grep ': warning' -i) ]]; then printf 'There were MSVC compiler warnings:\n\n'; cat make.output | grep ': warning' -i; exit_code=1; fi" - - "if [[ $(cat build/mac-release/make.output | grep warning -i) ]]; then printf 'There were Clang (macOS) compiler warnings:\n\n'; cat make.output | grep warning -i; exit_code=1; fi" - - exit $exit_code