1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

gitlab-ci: split linux and macos shared before scripts

They're not actually the same anyways and the anchors can't be shared
between the files. We can figure out refactoring in the future.
This commit is contained in:
Ben Boeckel
2020-06-12 12:54:06 -04:00
parent a1fe6ad621
commit 6d168c41e3
4 changed files with 76 additions and 48 deletions

View File

@@ -4,7 +4,6 @@ include:
- local: .gitlab/artifacts.yml
# OS builds.
- local: .gitlab/os-unix.yml
- local: .gitlab/os-linux.yml
- local: .gitlab/os-macos.yml
- local: .gitlab/os-windows.yml
@@ -35,21 +34,21 @@ stages:
build:debian10-iwyu:
extends:
- .debian10_iwyu
- .cmake_build_unix
- .cmake_build_linux
- .linux_builder_tags
- .run_automatically
build:fedora31-tidy:
extends:
- .fedora31_tidy
- .cmake_build_unix
- .cmake_build_linux
- .linux_builder_tags_qt
- .run_automatically
build:fedora31-sphinx:
extends:
- .fedora31_sphinx
- .cmake_build_unix
- .cmake_build_linux
- .linux_builder_tags_qt
- .run_automatically
@@ -88,7 +87,7 @@ test:cuda10.2-nvidia:
build:fedora31-ninja:
extends:
- .fedora31_ninja
- .cmake_build_unix
- .cmake_build_linux
- .cmake_build_artifacts
- .linux_builder_tags_qt
- .run_manually
@@ -96,7 +95,7 @@ build:fedora31-ninja:
test:fedora31-ninja:
extends:
- .fedora31_ninja
- .cmake_test_unix
- .cmake_test_linux
- .linux_builder_tags_qt
- .cmake_test_artifacts
- .run_automatically
@@ -121,7 +120,7 @@ test:fedora31-ninja-multi:
build:macos-ninja:
extends:
- .macos_ninja
- .cmake_build_unix
- .cmake_build_macos
- .cmake_build_artifacts
- .macos_builder_tags
- .run_manually
@@ -129,7 +128,7 @@ build:macos-ninja:
test:macos-ninja:
extends:
- .macos_ninja
- .cmake_test_unix
- .cmake_test_macos
- .cmake_test_artifacts
- .macos_builder_tags
- .run_automatically
@@ -141,7 +140,7 @@ test:macos-ninja:
build:macos-makefiles:
extends:
- .macos_makefiles
- .cmake_build_unix
- .cmake_build_macos
- .cmake_build_artifacts
- .macos_builder_tags
- .run_manually
@@ -149,7 +148,7 @@ build:macos-makefiles:
test:macos-makefiles:
extends:
- .macos_makefiles
- .cmake_test_unix
- .cmake_test_macos
- .macos_builder_tags
- .run_automatically
dependencies:

View File

@@ -118,6 +118,36 @@
## Linux-specific scripts
.before_script_linux: &before_script_linux
- .gitlab/ci/cmake.sh
- .gitlab/ci/ninja.sh
- export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
- cmake --version
- ninja --version
.cmake_build_linux:
stage: build
script:
- *before_script_linux
- .gitlab/ci/sccache.sh
- sccache --start-server
- sccache --show-stats
- "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
- "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
- sccache --show-stats
interruptible: true
.cmake_test_linux:
stage: test
script:
- *before_script_linux
- "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake"
interruptible: true
.cmake_build_release_linux:
stage: build
@@ -154,7 +184,7 @@
stage: test-ext
script:
- *before_script_unix
- *before_script_linux
# Make the CMake package available.
- mkdir -p build/install
- tar -C build/install --strip-components=1 -xzf build/cmake-*-Linux-x86_64.tar.gz
@@ -170,7 +200,7 @@
stage: test-ext
script:
- *before_script_unix
- *before_script_linux
- .gitlab/ci/sccache.sh
- sccache --start-server
- sccache --show-stats

View File

@@ -66,11 +66,45 @@
## macOS-specific scripts
.before_script_macos: &before_script_macos
- .gitlab/ci/cmake.sh
- .gitlab/ci/ninja.sh
- export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
- cmake --version
- ninja --version
# Download Qt
- cmake -P .gitlab/ci/download_qt.cmake
- export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt
.cmake_build_macos:
stage: build
script:
- *before_script_macos
- .gitlab/ci/sccache.sh
# Allow the server to already be running.
- "sccache --start-server || :"
- sccache --show-stats
- ctest -VV -S .gitlab/ci/ctest_configure.cmake
- ctest -VV -S .gitlab/ci/ctest_build.cmake
- sccache --show-stats
interruptible: true
.cmake_test_macos:
stage: test
script:
- *before_script_macos
- ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake
interruptible: true
.cmake_test_macos_external:
stage: test-ext
script:
- *before_script_unix
- *before_script_macos
- .gitlab/ci/sccache.sh
# Allow the server to already be running.
- "sccache --start-server || :"

View File

@@ -1,35 +0,0 @@
# Unix-specific build commands
.before_script_unix: &before_script_unix
- .gitlab/ci/cmake.sh
- .gitlab/ci/ninja.sh
- export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
- cmake --version
- ninja --version
# Download Qt on macOS
- "[ \"$( uname -s )\" = \"Darwin\" ] && cmake -P .gitlab/ci/download_qt.cmake"
- "[ \"$( uname -s )\" = \"Darwin\" ] && export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt"
.cmake_build_unix:
stage: build
script:
- *before_script_unix
- .gitlab/ci/sccache.sh
# Allow the server to already be running.
- "sccache --start-server || :"
- sccache --show-stats
- "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
- "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
- sccache --show-stats
interruptible: true
.cmake_test_unix:
stage: test
script:
- *before_script_unix
- "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake"
interruptible: true