Browse Source

Merge branch 'ci-fedora33-release' into ci-fedora33

* ci-fedora33-release:
  gitlab-ci: use Fedora 33 to build sources
  gitlab-ci: update Linux CI to use Fedora 33
  ci: update to Fedora 33 for Linux builds
  ci: install gmock in the Fedora 31 image
  Tests/FindBoost/TestPython: support finding 3.8 and 3.9
  clang-tidy: ignore new warnings from newer versions
  clang-tidy: ignore `misc-no-recursion`
Ben Boeckel 5 years ago
parent
commit
3d1183c457

+ 12 - 0
.clang-tidy

@@ -4,9 +4,13 @@ bugprone-*,\
 -bugprone-macro-parentheses,\
 -bugprone-misplaced-widening-cast,\
 -bugprone-narrowing-conversions,\
+-bugprone-reserved-identifier,\
+-bugprone-signed-char-misuse,\
+-bugprone-suspicious-include,\
 -bugprone-too-small-loop-variable,\
 google-readability-casting,\
 misc-*,\
+-misc-no-recursion,\
 -misc-non-private-member-variables-in-classes,\
 -misc-static-assert,\
 modernize-*,\
@@ -16,6 +20,8 @@ modernize-*,\
 -modernize-use-trailing-return-type,\
 -modernize-use-transparent-functors,\
 performance-*,\
+-performance-no-automatic-move,\
+-performance-trivially-destructible,\
 readability-*,\
 -readability-convert-member-functions-to-static,\
 -readability-function-size,\
@@ -23,9 +29,15 @@ readability-*,\
 -readability-implicit-bool-conversion,\
 -readability-inconsistent-declaration-parameter-name,\
 -readability-magic-numbers,\
+-readability-make-member-function-const,\
 -readability-named-parameter,\
+-readability-qualified-auto,\
+-readability-redundant-access-specifiers,\
 -readability-redundant-declaration,\
+-readability-redundant-string-init,\
+-readability-simplify-boolean-expr,\
 -readability-uppercase-literal-suffix,\
+-readability-use-anyofallof,\
 "
 HeaderFilterRegex: 'Source/cm[^/]*\.(h|hxx|cxx)$'
 CheckOptions:

+ 17 - 17
.gitlab-ci.yml

@@ -46,7 +46,7 @@ prep:source-package:
 
 prep:doc-package:
     extends:
-        - .fedora31_sphinx_package
+        - .fedora33_sphinx_package
         - .cmake_prep_doc_linux
         - .linux_builder_tags_qt
         - .cmake_doc_artifacts
@@ -72,16 +72,16 @@ build:debian10-iwyu:
         - .linux_builder_tags
         - .run_automatically
 
-build:fedora31-tidy:
+build:fedora33-tidy:
     extends:
-        - .fedora31_tidy
+        - .fedora33_tidy
         - .cmake_build_linux
         - .linux_builder_tags_qt
         - .run_automatically
 
-build:fedora31-sphinx:
+build:fedora33-sphinx:
     extends:
-        - .fedora31_sphinx
+        - .fedora33_sphinx
         - .cmake_build_linux
         - .linux_builder_tags_qt
         - .run_automatically
@@ -110,9 +110,9 @@ test:debian10-ninja:
     needs:
         - build:centos6-release
 
-test:fedora31-makefiles:
+test:fedora33-makefiles:
     extends:
-        - .fedora31_makefiles
+        - .fedora33_makefiles
         - .cmake_test_linux_package
         - .linux_builder_tags_qt
         - .run_dependent
@@ -132,36 +132,36 @@ test:cuda10.2-nvidia:
     needs:
         - build:centos6-release
 
-build:fedora31-ninja:
+build:fedora33-ninja:
     extends:
-        - .fedora31_ninja
+        - .fedora33_ninja
         - .cmake_build_linux
         - .cmake_build_artifacts
         - .linux_builder_tags_qt
         - .run_manually
 
-test:fedora31-ninja:
+test:fedora33-ninja:
     extends:
-        - .fedora31_ninja
+        - .fedora33_ninja
         - .cmake_test_linux
         - .linux_builder_tags_x11
         - .cmake_test_artifacts
         - .run_dependent
     dependencies:
-        - build:fedora31-ninja
+        - build:fedora33-ninja
     needs:
-        - build:fedora31-ninja
+        - build:fedora33-ninja
 
-test:fedora31-ninja-multi:
+test:fedora33-ninja-multi:
     extends:
-        - .fedora31_ninja_multi
+        - .fedora33_ninja_multi
         - .cmake_test_linux_external
         - .linux_builder_tags_qt
         - .run_dependent
     dependencies:
-        - test:fedora31-ninja
+        - test:fedora33-ninja
     needs:
-        - test:fedora31-ninja
+        - test:fedora33-ninja
 
 build:linux-x86_64-package:
     extends:

+ 0 - 3
.gitlab/ci/configure_fedora31_tidy.cmake

@@ -1,3 +0,0 @@
-set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "")
-
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora31_common.cmake")

+ 0 - 0
.gitlab/ci/configure_fedora31_common.cmake → .gitlab/ci/configure_fedora33_common.cmake


+ 0 - 0
.gitlab/ci/configure_fedora31_makefiles.cmake → .gitlab/ci/configure_fedora33_makefiles.cmake


+ 1 - 1
.gitlab/ci/configure_fedora31_ninja.cmake → .gitlab/ci/configure_fedora33_ninja.cmake

@@ -4,4 +4,4 @@ set(CMake_TEST_GUI "ON" CACHE BOOL "")
 # Cover compilation with C++11 only and not higher standards.
 set(CMAKE_CXX_STANDARD "11" CACHE STRING "")
 
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora31_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora33_common.cmake")

+ 0 - 0
.gitlab/ci/configure_fedora31_ninja_multi.cmake → .gitlab/ci/configure_fedora33_ninja_multi.cmake


+ 0 - 0
.gitlab/ci/configure_fedora31_sphinx.cmake → .gitlab/ci/configure_fedora33_sphinx.cmake


+ 0 - 0
.gitlab/ci/configure_fedora31_sphinx_package.cmake → .gitlab/ci/configure_fedora33_sphinx_package.cmake


+ 3 - 0
.gitlab/ci/configure_fedora33_tidy.cmake

@@ -0,0 +1,3 @@
+set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora33_common.cmake")

+ 2 - 2
.gitlab/ci/docker/fedora31/Dockerfile → .gitlab/ci/docker/fedora33/Dockerfile

@@ -1,10 +1,10 @@
-FROM fedora:31 as rvm-build
+FROM fedora:33 as rvm-build
 MAINTAINER Ben Boeckel <[email protected]>
 
 COPY install_rvm.sh /root/install_rvm.sh
 RUN sh /root/install_rvm.sh
 
-FROM fedora:31
+FROM fedora:33
 MAINTAINER Ben Boeckel <[email protected]>
 
 COPY install_deps.sh /root/install_deps.sh

+ 0 - 0
.gitlab/ci/docker/fedora31/install_deps.sh → .gitlab/ci/docker/fedora33/install_deps.sh


+ 0 - 0
.gitlab/ci/docker/fedora31/install_ispc.sh → .gitlab/ci/docker/fedora33/install_ispc.sh


+ 3 - 0
.gitlab/ci/docker/fedora31/install_rvm.sh → .gitlab/ci/docker/fedora33/install_rvm.sh

@@ -13,6 +13,9 @@ dnf install --setopt=install_weak_deps=False -y \
 
 curl -sSL https://get.rvm.io | bash -s stable
 
+# This is intentionally an older version.
+# If updating, the associated `env_fedora*_makefiles.cmake` file needs updated
+# as well.
 /usr/local/rvm/bin/rvm install ruby-2.7.0
 
 tar -C /usr/local -cf /root/rvm.tar rvm

+ 0 - 0
.gitlab/ci/env_fedora31_makefiles.cmake → .gitlab/ci/env_fedora33_makefiles.cmake


+ 21 - 21
.gitlab/os-linux.yml

@@ -12,7 +12,7 @@
         LAUNCHER: "scl enable devtoolset-6 rh-python36 --"
 
 .linux_prep_source:
-    image: "fedora:32"
+    image: "fedora:33"
 
     variables:
         GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -48,36 +48,36 @@
 
 ### Fedora
 
-.fedora31:
-    image: "kitware/cmake:ci-fedora31-x86_64-2020-10-22"
+.fedora33:
+    image: "kitware/cmake:ci-fedora33-x86_64-2020-11-13"
 
     variables:
         GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes"
 
 #### Lint builds
 
-.fedora31_tidy:
-    extends: .fedora31
+.fedora33_tidy:
+    extends: .fedora33
 
     variables:
-        CMAKE_CONFIGURATION: fedora31_tidy
+        CMAKE_CONFIGURATION: fedora33_tidy
         CTEST_NO_WARNINGS_ALLOWED: 1
         CMake_SKIP_INSTALL: 1
 
-.fedora31_sphinx:
-    extends: .fedora31
+.fedora33_sphinx:
+    extends: .fedora33
 
     variables:
-        CMAKE_CONFIGURATION: fedora31_sphinx
+        CMAKE_CONFIGURATION: fedora33_sphinx
         CTEST_NO_WARNINGS_ALLOWED: 1
         CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
         CMake_SKIP_INSTALL: 1
 
-.fedora31_sphinx_package:
-    extends: .fedora31
+.fedora33_sphinx_package:
+    extends: .fedora33
 
     variables:
-        CMAKE_CONFIGURATION: fedora31_sphinx_package
+        CMAKE_CONFIGURATION: fedora33_sphinx_package
         CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
 
 #### Build and test
@@ -89,26 +89,26 @@
         CMAKE_CONFIGURATION: debian10_ninja
         CTEST_NO_WARNINGS_ALLOWED: 1
 
-.fedora31_ninja:
-    extends: .fedora31
+.fedora33_ninja:
+    extends: .fedora33
 
     variables:
-        CMAKE_CONFIGURATION: fedora31_ninja
+        CMAKE_CONFIGURATION: fedora33_ninja
         CTEST_NO_WARNINGS_ALLOWED: 1
 
-.fedora31_ninja_multi:
-    extends: .fedora31
+.fedora33_ninja_multi:
+    extends: .fedora33
 
     variables:
-        CMAKE_CONFIGURATION: fedora31_ninja_multi
+        CMAKE_CONFIGURATION: fedora33_ninja_multi
         CTEST_NO_WARNINGS_ALLOWED: 1
         CMAKE_GENERATOR: "Ninja Multi-Config"
 
-.fedora31_makefiles:
-    extends: .fedora31
+.fedora33_makefiles:
+    extends: .fedora33
 
     variables:
-        CMAKE_CONFIGURATION: fedora31_makefiles
+        CMAKE_CONFIGURATION: fedora33_makefiles
         CTEST_NO_WARNINGS_ALLOWED: 1
         CMAKE_GENERATOR: "Unix Makefiles"
 

+ 2 - 2
Tests/FindBoost/TestPython/CMakeLists.txt

@@ -2,10 +2,10 @@ cmake_minimum_required(VERSION 3.14)
 project(TestFindBoostPython CXX)
 include(CTest)
 
-find_package(Boost OPTIONAL_COMPONENTS python27 python34 python35 python36 python37)
+find_package(Boost OPTIONAL_COMPONENTS python27 python34 python35 python36 python37 python38 python39)
 
 set(FAILTEST TRUE)
-foreach (v IN ITEMS 27 34 35 36 37)
+foreach (v IN ITEMS 27 34 35 36 37 38 39)
   if (Boost_PYTHON${v}_FOUND)
     set(FAILTEST FALSE)
     break()