diff options
-rw-r--r-- | .gitlab-ci.yml | 9 | ||||
-rw-r--r-- | .gitlab/ci/configure_common.cmake | 9 | ||||
-rw-r--r-- | .gitlab/ci/configure_debian10_makefiles_inplace.cmake | 1 | ||||
-rw-r--r-- | .gitlab/ci/ctest_standalone.cmake | 4 | ||||
-rw-r--r-- | .gitlab/ci/gitlab_ci.cmake | 6 | ||||
-rw-r--r-- | .gitlab/os-linux.yml | 24 |
6 files changed, 51 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c8110925dd..30710551fe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -275,6 +275,15 @@ b:fedora35-ninja: - .linux_builder_tags_qt - .run_manually +b:debian10-makefiles-inplace: + extends: + - .debian10_makefiles_inplace + - .cmake_build_linux_standalone + - .linux_builder_tags + - .run_manually + variables: + CMAKE_CI_JOB_NIGHTLY: "true" + t:fedora35-ninja: extends: - .fedora35_ninja diff --git a/.gitlab/ci/configure_common.cmake b/.gitlab/ci/configure_common.cmake index a711f3bda4..ed3d18dcdf 100644 --- a/.gitlab/ci/configure_common.cmake +++ b/.gitlab/ci/configure_common.cmake @@ -1,4 +1,11 @@ -set(CTEST_USE_LAUNCHERS "ON" CACHE BOOL "") +if("$ENV{CMAKE_CI_BOOTSTRAP}") + # Launchers do not work during bootstrap: no ctest available. + set(CTEST_USE_LAUNCHERS "OFF" CACHE BOOL "") + # We configure by bootstrapping, so skip the BootstrapTest. + set(CMAKE_SKIP_BOOTSTRAP_TEST ON CACHE BOOL "") +else() + set(CTEST_USE_LAUNCHERS "ON" CACHE BOOL "") +endif() # We run the install right after the build. Avoid rerunning it when installing. set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_debian10_makefiles_inplace.cmake b/.gitlab/ci/configure_debian10_makefiles_inplace.cmake new file mode 100644 index 0000000000..33f0db0c61 --- /dev/null +++ b/.gitlab/ci/configure_debian10_makefiles_inplace.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/ctest_standalone.cmake b/.gitlab/ci/ctest_standalone.cmake index cec2de26b9..9199693aac 100644 --- a/.gitlab/ci/ctest_standalone.cmake +++ b/.gitlab/ci/ctest_standalone.cmake @@ -23,6 +23,10 @@ set(CTEST_UPDATE_VERSION_ONLY ON) set(CTEST_UPDATE_COMMAND "${GIT_EXECUTABLE}") ctest_update() +if("$ENV{CMAKE_CI_BOOTSTRAP}") + set(CTEST_CONFIGURE_COMMAND "\"${CTEST_SOURCE_DIRECTORY}/bootstrap\" --parallel=${nproc}") +endif() + # Configure the project. ctest_configure( OPTIONS "${cmake_args}" diff --git a/.gitlab/ci/gitlab_ci.cmake b/.gitlab/ci/gitlab_ci.cmake index 697162c7dd..080c93b2e2 100644 --- a/.gitlab/ci/gitlab_ci.cmake +++ b/.gitlab/ci/gitlab_ci.cmake @@ -5,7 +5,11 @@ endif () # Set up the source and build paths. set(CTEST_SOURCE_DIRECTORY "$ENV{CI_PROJECT_DIR}") -set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/build") +if("$ENV{CMAKE_CI_INPLACE}") + set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}") +else() + set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/build") +endif() if (NOT "$ENV{CTEST_SOURCE_SUBDIRECTORY}" STREQUAL "") string(APPEND CTEST_SOURCE_DIRECTORY "/$ENV{CTEST_SOURCE_SUBDIRECTORY}") endif () diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 482ca7dc97..f6a8a19741 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -126,6 +126,17 @@ CMAKE_CONFIGURATION: debian10_aarch64_ninja CTEST_NO_WARNINGS_ALLOWED: 1 +.debian10_makefiles_inplace: + extends: .debian10 + + variables: + CMAKE_CONFIGURATION: debian10_makefiles_inplace + CMAKE_GENERATOR: "Unix Makefiles" + CMAKE_CI_BOOTSTRAP: 1 + CMAKE_CI_INPLACE: 1 + CMAKE_CI_NO_INSTALL: 1 + CTEST_NO_WARNINGS_ALLOWED: 1 + .fedora35_ninja: extends: .fedora35 @@ -429,6 +440,19 @@ interruptible: true +.cmake_build_linux_standalone: + stage: build + + script: + - *before_script_linux + - .gitlab/ci/sccache.sh + - sccache --start-server + - sccache --show-stats + - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake" + - sccache --show-stats + + interruptible: true + .cmake_test_linux_release: stage: test-ext |