Просмотр исходного кода

gitlab-ci: Add macos-arm64 jobs for Ninja and Xcode

For now, leave these jobs out during merge requests.
Brad King 4 лет назад
Родитель
Сommit
397ced99d7

+ 37 - 0
.gitlab-ci.yml

@@ -244,6 +244,16 @@ build:macos-x86_64-ninja:
         - .macos_x86_64_builder_tags
         - .run_manually
 
+build:macos-arm64-ninja:
+    extends:
+        - .macos_arm64_ninja
+        - .cmake_build_macos
+        - .cmake_build_artifacts
+        - .macos_arm64_builder_tags
+        - .run_manually
+    variables:
+        CMAKE_CI_NO_MR: "true"
+
 test:macos-x86_64-ninja:
     extends:
         - .macos_x86_64_ninja
@@ -256,6 +266,20 @@ test:macos-x86_64-ninja:
     needs:
         - build:macos-x86_64-ninja
 
+test:macos-arm64-ninja:
+    extends:
+        - .macos_arm64_ninja
+        - .cmake_test_macos
+        - .cmake_test_artifacts
+        - .macos_arm64_builder_tags
+        - .run_dependent
+    dependencies:
+        - build:macos-arm64-ninja
+    needs:
+        - build:macos-arm64-ninja
+    variables:
+        CMAKE_CI_NO_MR: "true"
+
 build:macos-x86_64-makefiles:
     extends:
         - .macos_x86_64_makefiles
@@ -286,6 +310,19 @@ test:macos-x86_64-xcode:
     needs:
         - test:macos-x86_64-ninja
 
+test:macos-arm64-xcode:
+    extends:
+        - .macos_arm64_xcode
+        - .cmake_test_macos_external
+        - .macos_arm64_builder_ext_tags
+        - .run_dependent
+    dependencies:
+        - test:macos-arm64-ninja
+    needs:
+        - test:macos-arm64-ninja
+    variables:
+        CMAKE_CI_NO_MR: "true"
+
 build:macos-package:
     extends:
         - .macos_package

+ 3 - 0
.gitlab/ci/configure_macos_arm64_ninja.cmake

@@ -0,0 +1,3 @@
+set(CMake_TEST_GUI "ON" CACHE BOOL "")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")

+ 2 - 0
.gitlab/ci/configure_macos_arm64_xcode.cmake

@@ -0,0 +1,2 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

+ 30 - 0
.gitlab/os-macos.yml

@@ -31,6 +31,13 @@
         CMAKE_CONFIGURATION: macos_x86_64_ninja
         CTEST_NO_WARNINGS_ALLOWED: 1
 
+.macos_arm64_ninja:
+    extends: .macos_build
+
+    variables:
+        CMAKE_CONFIGURATION: macos_arm64_ninja
+        CTEST_NO_WARNINGS_ALLOWED: 1
+
 .macos_x86_64_makefiles:
     extends: .macos_build
 
@@ -64,6 +71,13 @@
         CMAKE_CONFIGURATION: macos_x86_64_xcode
         CMAKE_GENERATOR: Xcode
 
+.macos_arm64_xcode:
+    extends: .macos
+
+    variables:
+        CMAKE_CONFIGURATION: macos_arm64_xcode
+        CMAKE_GENERATOR: Xcode
+
 ## Tags
 
 .macos_x86_64_builder_tags:
@@ -91,6 +105,22 @@
         - xcode-12.3
         - concurrent
 
+.macos_arm64_builder_tags:
+    tags:
+        - cmake # Since this is a bare runner, pin to a project.
+        - macos-arm64
+        - shell
+        - xcode-12.3
+        - nonconcurrent
+
+.macos_arm64_builder_ext_tags:
+    tags:
+        - cmake # Since this is a bare runner, pin to a project.
+        - macos-arm64
+        - shell
+        - xcode-12.3
+        - concurrent
+
 ## macOS-specific scripts
 
 .before_script_macos: &before_script_macos