diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2020-06-12 15:10:58 (GMT) |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2020-06-12 16:28:29 (GMT) |
commit | d6fe877cf988dc72853d744566ec0ce997647db9 (patch) | |
tree | 49034fc3df100ed4f0c322e3fd187243bed6d14c /.gitlab/os-macos.yml | |
parent | 0f4777ab810d87619945583ca504d49703acc0c4 (diff) | |
download | CMake-d6fe877cf988dc72853d744566ec0ce997647db9.zip CMake-d6fe877cf988dc72853d744566ec0ce997647db9.tar.gz CMake-d6fe877cf988dc72853d744566ec0ce997647db9.tar.bz2 |
gitlab-ci: split into multiple files
Also add comments for sections to make it easier to figure out what's
going on.
Also rename the `cmake_test_unix_package` to be Linux-specific since it
actually is.
Diffstat (limited to '.gitlab/os-macos.yml')
-rw-r--r-- | .gitlab/os-macos.yml | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml new file mode 100644 index 0000000..b36de98 --- /dev/null +++ b/.gitlab/os-macos.yml @@ -0,0 +1,81 @@ +# macOS-specific builder configurations and build commands + +## Base configurations + +.macos: &macos + variables: + GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci ext/$CI_CONCURRENT_ID" + # TODO: Factor this out so that each job selects the Xcode version to + # use so that different versions can be tested in a single pipeline. + DEVELOPER_DIR: "/Applications/Xcode-11.5.app/Contents/Developer" + +### Build and test + +.macos_build: &macos_build + extends: .macos + + variables: + # Note that shell runners only support runners with a single + # concurrency level. We can't use `$CI_CONCURRENCY_ID` because this may + # change between the build and test stages which CMake doesn't support. + # Even if we could, it could change if other runners on the machine + # could run at the same time, so we drop it. + GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" + +.macos_ninja: &macos_ninja + extends: .macos_build + + variables: + CMAKE_CONFIGURATION: macos_ninja + CTEST_NO_WARNINGS_ALLOWED: 1 + +.macos_makefiles: &macos_makefiles + extends: .macos_build + + variables: + CMAKE_CONFIGURATION: macos_makefiles + CTEST_NO_WARNINGS_ALLOWED: 1 + CMAKE_GENERATOR: "Unix Makefiles" + +### External testing + +.macos_xcode: &macos_xcode + extends: .macos + + variables: + CMAKE_CONFIGURATION: macos_xcode + CMAKE_GENERATOR: Xcode + +## Tags + +.macos_builder_tags: &macos_builder_tags + tags: + - cmake # Since this is a bare runner, pin to a project. + - macos + - shell + - xcode-11.5 + - nonconcurrent + +.macos_builder_ext_tags: &macos_builder_ext_tags + tags: + - cmake # Since this is a bare runner, pin to a project. + - macos + - shell + - xcode-11.5 + - concurrent + +## macOS-specific scripts + +.cmake_test_macos_external: &cmake_test_macos_external + stage: test-ext + + script: + - *before_script_unix + - .gitlab/ci/sccache.sh + # Allow the server to already be running. + - "sccache --start-server || :" + - sccache --show-stats + - "$LAUNCHER build/install/CMake.app/Contents/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake" + - sccache --show-stats + + interruptible: true |