mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 15:20:56 -06:00
ci: Add jobs that run in symlink trees
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -3,6 +3,10 @@
|
||||
# Common build directories
|
||||
/build*/
|
||||
|
||||
# CI jobs that run in symlinked trees produce these artifacts.
|
||||
/real_work/
|
||||
/work
|
||||
|
||||
# MacOS Finder files.
|
||||
.DS_Store
|
||||
|
||||
|
||||
@@ -199,6 +199,18 @@ t:debian12-makefiles-clang:
|
||||
variables:
|
||||
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:
|
||||
extends:
|
||||
- .debian12_hip_radeon
|
||||
@@ -399,6 +411,16 @@ b:fedora38-ninja:
|
||||
variables:
|
||||
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:
|
||||
extends:
|
||||
- .debian12_makefiles_inplace
|
||||
@@ -449,6 +471,20 @@ t:fedora38-ninja:
|
||||
variables:
|
||||
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:
|
||||
extends:
|
||||
- .fedora38_ninja_multi
|
||||
@@ -871,6 +907,16 @@ b:macos-arm64-ninja:
|
||||
variables:
|
||||
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:
|
||||
extends:
|
||||
- .macos_arm64_pch
|
||||
@@ -909,6 +955,21 @@ t:macos-arm64-ninja:
|
||||
CMAKE_CI_JOB_CONTINUOUS: "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:
|
||||
extends:
|
||||
- .macos_x86_64_makefiles
|
||||
@@ -968,6 +1029,20 @@ t:macos-arm64-xcode:
|
||||
needs:
|
||||
- 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:
|
||||
extends:
|
||||
- .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 "")
|
||||
2
.gitlab/ci/configure_fedora38_makefiles_symlinked.cmake
Normal file
2
.gitlab/ci/configure_fedora38_makefiles_symlinked.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common.cmake")
|
||||
2
.gitlab/ci/configure_macos_arm64_ninja_symlinked.cmake
Normal file
2
.gitlab/ci/configure_macos_arm64_ninja_symlinked.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_arm64_ninja.cmake")
|
||||
2
.gitlab/ci/configure_macos_arm64_xcode_symlinked.cmake
Normal file
2
.gitlab/ci/configure_macos_arm64_xcode_symlinked.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_arm64_xcode.cmake")
|
||||
7
.gitlab/ci/configure_symlinked_common.cmake
Normal file
7
.gitlab/ci/configure_symlinked_common.cmake
Normal file
@@ -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"
|
||||
}
|
||||
|
||||
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
|
||||
source ".gitlab/ci/env_${CMAKE_CONFIGURATION}.sh"
|
||||
fi
|
||||
|
||||
5
.gitlab/ci/env_debian12_ninja_multi_symlinked.sh
Normal file
5
.gitlab/ci/env_debian12_ninja_multi_symlinked.sh
Normal file
@@ -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
|
||||
1
.gitlab/ci/env_fedora38_makefiles_symlinked.cmake
Normal file
1
.gitlab/ci/env_fedora38_makefiles_symlinked.cmake
Normal file
@@ -0,0 +1 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/env_fedora38_makefiles.cmake")
|
||||
1
.gitlab/ci/env_fedora38_makefiles_symlinked.sh
Normal file
1
.gitlab/ci/env_fedora38_makefiles_symlinked.sh
Normal file
@@ -0,0 +1 @@
|
||||
. .gitlab/ci/env_fedora38_makefiles.sh
|
||||
1
.gitlab/ci/env_macos_arm64_ninja_symlinked.sh
Normal file
1
.gitlab/ci/env_macos_arm64_ninja_symlinked.sh
Normal file
@@ -0,0 +1 @@
|
||||
. .gitlab/ci/env_macos_arm64_ninja.sh
|
||||
@@ -5,8 +5,13 @@ endif ()
|
||||
|
||||
# Set up the source and build paths.
|
||||
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}")
|
||||
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()
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/build")
|
||||
endif()
|
||||
|
||||
@@ -137,6 +137,16 @@
|
||||
CMAKE_CI_NO_INSTALL: 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:
|
||||
extends: .debian12
|
||||
|
||||
@@ -185,6 +195,16 @@
|
||||
CTEST_NO_WARNINGS_ALLOWED: 1
|
||||
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
|
||||
|
||||
.debian12_makefiles_clang:
|
||||
|
||||
@@ -38,6 +38,15 @@
|
||||
CMAKE_CONFIGURATION: macos_arm64_ninja
|
||||
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:
|
||||
extends: .macos_arm64_ninja
|
||||
|
||||
@@ -86,6 +95,16 @@
|
||||
CMAKE_GENERATOR: Xcode
|
||||
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:
|
||||
extends: .macos
|
||||
|
||||
|
||||
Reference in New Issue
Block a user