mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-05 13:50:10 -05:00
ci: Add jobs that run in symlink trees
This commit is contained in:
@@ -3,6 +3,10 @@
|
|||||||
# Common build directories
|
# Common build directories
|
||||||
/build*/
|
/build*/
|
||||||
|
|
||||||
|
# CI jobs that run in symlinked trees produce these artifacts.
|
||||||
|
/real_work/
|
||||||
|
/work
|
||||||
|
|
||||||
# MacOS Finder files.
|
# MacOS Finder files.
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
|||||||
@@ -199,6 +199,18 @@ t:debian12-makefiles-clang:
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
|
t:debian12-ninja-multi-symlinked:
|
||||||
|
extends:
|
||||||
|
- .debian12_ninja_multi_symlinked
|
||||||
|
- .cmake_test_linux_release
|
||||||
|
- .linux_x86_64_tags
|
||||||
|
- .cmake_junit_artifacts
|
||||||
|
- .run_dependent
|
||||||
|
- .needs_centos7_x86_64
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
|
||||||
|
|
||||||
t:debian12-hip-radeon:
|
t:debian12-hip-radeon:
|
||||||
extends:
|
extends:
|
||||||
- .debian12_hip_radeon
|
- .debian12_hip_radeon
|
||||||
@@ -399,6 +411,16 @@ b:fedora38-ninja:
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CI_JOB_CONTINUOUS: "true"
|
CMAKE_CI_JOB_CONTINUOUS: "true"
|
||||||
|
|
||||||
|
b:fedora38-makefiles-symlinked:
|
||||||
|
extends:
|
||||||
|
- .fedora38_makefiles_symlinked
|
||||||
|
- .cmake_build_linux
|
||||||
|
- .cmake_build_artifacts
|
||||||
|
- .linux_x86_64_tags
|
||||||
|
- .run_manually
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
b:debian12-makefiles-inplace:
|
b:debian12-makefiles-inplace:
|
||||||
extends:
|
extends:
|
||||||
- .debian12_makefiles_inplace
|
- .debian12_makefiles_inplace
|
||||||
@@ -449,6 +471,20 @@ t:fedora38-ninja:
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CI_JOB_CONTINUOUS: "true"
|
CMAKE_CI_JOB_CONTINUOUS: "true"
|
||||||
|
|
||||||
|
t:fedora38-makefiles-symlinked:
|
||||||
|
extends:
|
||||||
|
- .fedora38_makefiles_symlinked
|
||||||
|
- .cmake_test_linux
|
||||||
|
- .linux_x86_64_tags_x11
|
||||||
|
- .cmake_test_artifacts
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- b:fedora38-makefiles-symlinked
|
||||||
|
needs:
|
||||||
|
- b:fedora38-makefiles-symlinked
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
t:fedora38-ninja-multi:
|
t:fedora38-ninja-multi:
|
||||||
extends:
|
extends:
|
||||||
- .fedora38_ninja_multi
|
- .fedora38_ninja_multi
|
||||||
@@ -871,6 +907,16 @@ b:macos-arm64-ninja:
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CI_JOB_CONTINUOUS: "true"
|
CMAKE_CI_JOB_CONTINUOUS: "true"
|
||||||
|
|
||||||
|
b:macos-arm64-ninja-symlinked:
|
||||||
|
extends:
|
||||||
|
- .macos_arm64_ninja_symlinked
|
||||||
|
- .cmake_build_macos
|
||||||
|
- .cmake_build_artifacts
|
||||||
|
- .macos_arm64_tags
|
||||||
|
- .run_manually
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
b:macos-arm64-pch:
|
b:macos-arm64-pch:
|
||||||
extends:
|
extends:
|
||||||
- .macos_arm64_pch
|
- .macos_arm64_pch
|
||||||
@@ -909,6 +955,21 @@ t:macos-arm64-ninja:
|
|||||||
CMAKE_CI_JOB_CONTINUOUS: "true"
|
CMAKE_CI_JOB_CONTINUOUS: "true"
|
||||||
CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
|
CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
|
||||||
|
|
||||||
|
t:macos-arm64-ninja-symlinked:
|
||||||
|
extends:
|
||||||
|
- .macos_arm64_ninja_symlinked
|
||||||
|
- .cmake_test_macos
|
||||||
|
- .cmake_test_artifacts
|
||||||
|
- .macos_arm64_tags
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- b:macos-arm64-ninja-symlinked
|
||||||
|
needs:
|
||||||
|
- b:macos-arm64-ninja-symlinked
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
|
||||||
|
|
||||||
b:macos-x86_64-makefiles:
|
b:macos-x86_64-makefiles:
|
||||||
extends:
|
extends:
|
||||||
- .macos_x86_64_makefiles
|
- .macos_x86_64_makefiles
|
||||||
@@ -968,6 +1029,20 @@ t:macos-arm64-xcode:
|
|||||||
needs:
|
needs:
|
||||||
- t:macos-arm64-ninja
|
- t:macos-arm64-ninja
|
||||||
|
|
||||||
|
t:macos-arm64-xcode-symlinked:
|
||||||
|
extends:
|
||||||
|
- .macos_arm64_xcode_symlinked
|
||||||
|
- .cmake_test_macos_external
|
||||||
|
- .macos_arm64_tags_ext
|
||||||
|
- .cmake_junit_artifacts
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- t:macos-arm64-ninja
|
||||||
|
needs:
|
||||||
|
- t:macos-arm64-ninja
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
t:macos-x86_64-ninja-ub:
|
t:macos-x86_64-ninja-ub:
|
||||||
extends:
|
extends:
|
||||||
- .macos_x86_64_ninja_ub
|
- .macos_x86_64_ninja_ub
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_debian12_ninja_common.cmake")
|
||||||
|
set(CMake_TEST_UseSWIG "OFF" CACHE BOOL "")
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common.cmake")
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_arm64_ninja.cmake")
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_arm64_xcode.cmake")
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# Ensure that the symlink tree is set up correctly.
|
||||||
|
if(NOT CMAKE_SOURCE_DIR STREQUAL "$ENV{CI_PROJECT_DIR}/work/cmake")
|
||||||
|
message(FATAL_ERROR "Expected value of CMAKE_SOURCE_DIR:\n $ENV{CI_PROJECT_DIR}/work/cmake\nActual value:\n ${CMAKE_SOURCE_DIR}")
|
||||||
|
endif()
|
||||||
|
if(NOT CMAKE_BINARY_DIR STREQUAL "$ENV{CI_PROJECT_DIR}/work/build")
|
||||||
|
message(FATAL_ERROR "Expected value of CMAKE_BINARY_DIR:\n $ENV{CI_PROJECT_DIR}/work/build\nActual value:\n ${CMAKE_BINARY_DIR}")
|
||||||
|
endif()
|
||||||
@@ -9,6 +9,16 @@ quietly() {
|
|||||||
rm -f "$log"
|
rm -f "$log"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if test -n "$CMAKE_CI_IN_SYMLINK_TREE"; then
|
||||||
|
mkdir -p "$CI_PROJECT_DIR/real_work/work/build"
|
||||||
|
ln -s real_work/work "$CI_PROJECT_DIR/work"
|
||||||
|
git worktree prune
|
||||||
|
git worktree add "$CI_PROJECT_DIR/work/cmake" HEAD
|
||||||
|
|
||||||
|
# Assert that the hash matches.
|
||||||
|
test "$(git -C "$CI_PROJECT_DIR/work/cmake" rev-parse HEAD)" = "$(git -C "$CI_PROJECT_DIR" rev-parse HEAD)"
|
||||||
|
fi
|
||||||
|
|
||||||
if test -r ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"; then
|
if test -r ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"; then
|
||||||
source ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"
|
source ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
export MY_RUBY_HOME="/usr/local/rvm/rubies/ruby-3.2.2"
|
||||||
|
|
||||||
|
if test -z "$CI_MERGE_REQUEST_ID"; then
|
||||||
|
source .gitlab/ci/swift-env.sh
|
||||||
|
fi
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/env_fedora38_makefiles.cmake")
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
. .gitlab/ci/env_fedora38_makefiles.sh
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
. .gitlab/ci/env_macos_arm64_ninja.sh
|
||||||
@@ -5,8 +5,13 @@ endif ()
|
|||||||
|
|
||||||
# Set up the source and build paths.
|
# Set up the source and build paths.
|
||||||
set(CTEST_SOURCE_DIRECTORY "$ENV{CI_PROJECT_DIR}")
|
set(CTEST_SOURCE_DIRECTORY "$ENV{CI_PROJECT_DIR}")
|
||||||
|
if("$ENV{CMAKE_CI_IN_SYMLINK_TREE}")
|
||||||
|
set(CTEST_SOURCE_DIRECTORY "$ENV{CI_PROJECT_DIR}/work/cmake")
|
||||||
|
endif()
|
||||||
if("$ENV{CMAKE_CI_INPLACE}")
|
if("$ENV{CMAKE_CI_INPLACE}")
|
||||||
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}")
|
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}")
|
||||||
|
elseif("$ENV{CMAKE_CI_IN_SYMLINK_TREE}")
|
||||||
|
set(CTEST_BINARY_DIRECTORY "$ENV{CI_PROJECT_DIR}/work/build")
|
||||||
else()
|
else()
|
||||||
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/build")
|
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/build")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -137,6 +137,16 @@
|
|||||||
CMAKE_CI_NO_INSTALL: 1
|
CMAKE_CI_NO_INSTALL: 1
|
||||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
|
|
||||||
|
.debian12_ninja_multi_symlinked:
|
||||||
|
extends: .debian12
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: debian12_ninja_multi_symlinked
|
||||||
|
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||||
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
|
CMAKE_CI_IN_SYMLINK_TREE: 1
|
||||||
|
CMAKE_CI_BUILD_DIR: "real_work/work/build"
|
||||||
|
|
||||||
.debian12_extdeps:
|
.debian12_extdeps:
|
||||||
extends: .debian12
|
extends: .debian12
|
||||||
|
|
||||||
@@ -185,6 +195,16 @@
|
|||||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
CMAKE_GENERATOR: "Unix Makefiles"
|
CMAKE_GENERATOR: "Unix Makefiles"
|
||||||
|
|
||||||
|
.fedora38_makefiles_symlinked:
|
||||||
|
extends: .fedora38
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: fedora38_makefiles_symlinked
|
||||||
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
|
CMAKE_GENERATOR: "Unix Makefiles"
|
||||||
|
CMAKE_CI_IN_SYMLINK_TREE: 1
|
||||||
|
CMAKE_CI_BUILD_DIR: "real_work/work/build"
|
||||||
|
|
||||||
### Clang Compiler
|
### Clang Compiler
|
||||||
|
|
||||||
.debian12_makefiles_clang:
|
.debian12_makefiles_clang:
|
||||||
|
|||||||
@@ -38,6 +38,15 @@
|
|||||||
CMAKE_CONFIGURATION: macos_arm64_ninja
|
CMAKE_CONFIGURATION: macos_arm64_ninja
|
||||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
|
|
||||||
|
.macos_arm64_ninja_symlinked:
|
||||||
|
extends: .macos_build
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: macos_arm64_ninja_symlinked
|
||||||
|
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||||
|
CMAKE_CI_IN_SYMLINK_TREE: 1
|
||||||
|
CMAKE_CI_BUILD_DIR: "real_work/work/build"
|
||||||
|
|
||||||
.macos_arm64_pch:
|
.macos_arm64_pch:
|
||||||
extends: .macos_arm64_ninja
|
extends: .macos_arm64_ninja
|
||||||
|
|
||||||
@@ -86,6 +95,16 @@
|
|||||||
CMAKE_GENERATOR: Xcode
|
CMAKE_GENERATOR: Xcode
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
|
.macos_arm64_xcode_symlinked:
|
||||||
|
extends: .macos
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: macos_arm64_xcode_symlinked
|
||||||
|
CMAKE_GENERATOR: Xcode
|
||||||
|
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
CMAKE_CI_IN_SYMLINK_TREE: 1
|
||||||
|
CMAKE_CI_BUILD_DIR: "real_work/work/build"
|
||||||
|
|
||||||
.macos_arm64_xcode_ub:
|
.macos_arm64_xcode_ub:
|
||||||
extends: .macos
|
extends: .macos
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user