Pārlūkot izejas kodu

gitlab-ci: use `extends`

YAML anchors are not supported across include files.
Ben Boeckel 5 gadi atpakaļ
vecāks
revīzija
a1fe6ad621
7 mainītis faili ar 135 papildinājumiem un 135 dzēšanām
  1. 93 93
      .gitlab-ci.yml
  2. 3 3
      .gitlab/artifacts.yml
  3. 17 17
      .gitlab/os-linux.yml
  4. 8 8
      .gitlab/os-macos.yml
  5. 2 2
      .gitlab/os-unix.yml
  6. 10 10
      .gitlab/os-windows.yml
  7. 2 2
      .gitlab/rules.yml

+ 93 - 93
.gitlab-ci.yml

@@ -33,84 +33,84 @@ stages:
 # Lint builds
 
 build:debian10-iwyu:
-    <<:
-        - *debian10_iwyu
-        - *cmake_build_unix
-        - *linux_builder_tags
-        - *run_automatically
+    extends:
+        - .debian10_iwyu
+        - .cmake_build_unix
+        - .linux_builder_tags
+        - .run_automatically
 
 build:fedora31-tidy:
-    <<:
-        - *fedora31_tidy
-        - *cmake_build_unix
-        - *linux_builder_tags_qt
-        - *run_automatically
+    extends:
+        - .fedora31_tidy
+        - .cmake_build_unix
+        - .linux_builder_tags_qt
+        - .run_automatically
 
 build:fedora31-sphinx:
-    <<:
-        - *fedora31_sphinx
-        - *cmake_build_unix
-        - *linux_builder_tags_qt
-        - *run_automatically
+    extends:
+        - .fedora31_sphinx
+        - .cmake_build_unix
+        - .linux_builder_tags_qt
+        - .run_automatically
 
 # Linux builds
 
 build:centos6-release:
-    <<:
-        - *release_linux
-        - *cmake_build_release_linux
-        - *cmake_release_artifacts
-        - *linux_builder_tags
-        - *run_manually
+    extends:
+        - .release_linux
+        - .cmake_build_release_linux
+        - .cmake_release_artifacts
+        - .linux_builder_tags
+        - .run_manually
 
 test:fedora31-makefiles:
-    <<:
-        - *fedora31_makefiles
-        - *cmake_test_linux_package
-        - *linux_builder_tags_qt
-        - *run_automatically
+    extends:
+        - .fedora31_makefiles
+        - .cmake_test_linux_package
+        - .linux_builder_tags_qt
+        - .run_automatically
     dependencies:
         - build:centos6-release
     needs:
         - build:centos6-release
 
 test:cuda10.2-nvidia:
-    <<:
-        - *cuda10_2_nvidia
-        - *cmake_test_linux_package
-        - *linux_builder_tags_cuda
-        - *run_automatically
+    extends:
+        - .cuda10.2_nvidia
+        - .cmake_test_linux_package
+        - .linux_builder_tags_cuda
+        - .run_automatically
     dependencies:
         - build:centos6-release
     needs:
         - build:centos6-release
 
 build:fedora31-ninja:
-    <<:
-        - *fedora31_ninja
-        - *cmake_build_unix
-        - *cmake_build_artifacts
-        - *linux_builder_tags_qt
-        - *run_manually
+    extends:
+        - .fedora31_ninja
+        - .cmake_build_unix
+        - .cmake_build_artifacts
+        - .linux_builder_tags_qt
+        - .run_manually
 
 test:fedora31-ninja:
-    <<:
-        - *fedora31_ninja
-        - *cmake_test_unix
-        - *linux_builder_tags_qt
-        - *cmake_test_artifacts
-        - *run_automatically
+    extends:
+        - .fedora31_ninja
+        - .cmake_test_unix
+        - .linux_builder_tags_qt
+        - .cmake_test_artifacts
+        - .run_automatically
     dependencies:
         - build:fedora31-ninja
     needs:
         - build:fedora31-ninja
 
 test:fedora31-ninja-multi:
-    <<:
-        - *fedora31_ninja_multi
-        - *cmake_test_linux_external
-        - *linux_builder_tags_qt
-        - *run_automatically
+    extends:
+        - .fedora31_ninja_multi
+        - .cmake_test_linux_external
+        - .linux_builder_tags_qt
+        - .run_automatically
     dependencies:
         - test:fedora31-ninja
     needs:
@@ -119,50 +119,50 @@ test:fedora31-ninja-multi:
 # macOS builds
 
 build:macos-ninja:
-    <<:
-        - *macos_ninja
-        - *cmake_build_unix
-        - *cmake_build_artifacts
-        - *macos_builder_tags
-        - *run_manually
+    extends:
+        - .macos_ninja
+        - .cmake_build_unix
+        - .cmake_build_artifacts
+        - .macos_builder_tags
+        - .run_manually
 
 test:macos-ninja:
-    <<:
-        - *macos_ninja
-        - *cmake_test_unix
-        - *cmake_test_artifacts
-        - *macos_builder_tags
-        - *run_automatically
+    extends:
+        - .macos_ninja
+        - .cmake_test_unix
+        - .cmake_test_artifacts
+        - .macos_builder_tags
+        - .run_automatically
     dependencies:
         - build:macos-ninja
     needs:
         - build:macos-ninja
 
 build:macos-makefiles:
-    <<:
-        - *macos_makefiles
-        - *cmake_build_unix
-        - *cmake_build_artifacts
-        - *macos_builder_tags
-        - *run_manually
+    extends:
+        - .macos_makefiles
+        - .cmake_build_unix
+        - .cmake_build_artifacts
+        - .macos_builder_tags
+        - .run_manually
 
 test:macos-makefiles:
-    <<:
-        - *macos_makefiles
-        - *cmake_test_unix
-        - *macos_builder_tags
-        - *run_automatically
+    extends:
+        - .macos_makefiles
+        - .cmake_test_unix
+        - .macos_builder_tags
+        - .run_automatically
     dependencies:
         - build:macos-makefiles
     needs:
         - build:macos-makefiles
 
 test:macos-xcode:
-    <<:
-        - *macos_xcode
-        - *cmake_test_macos_external
-        - *macos_builder_ext_tags
-        - *run_automatically
+    extends:
+        - .macos_xcode
+        - .cmake_test_macos_external
+        - .macos_builder_ext_tags
+        - .run_automatically
     dependencies:
         - test:macos-ninja
     needs:
@@ -171,31 +171,31 @@ test:macos-xcode:
 # Windows builds
 
 build:windows-vs2019-x64-ninja:
-    <<:
-        - *windows_vs2019_x64_ninja
-        - *cmake_build_windows
-        - *cmake_build_artifacts
-        - *windows_builder_tags
-        - *run_manually
+    extends:
+        - .windows_vs2019_x64_ninja
+        - .cmake_build_windows
+        - .cmake_build_artifacts
+        - .windows_builder_tags
+        - .run_manually
 
 test:windows-vs2019-x64-ninja:
-    <<:
-        - *windows_vs2019_x64_ninja
-        - *cmake_test_windows
-        - *windows_builder_tags
-        - *cmake_test_artifacts
-        - *run_automatically
+    extends:
+        - .windows_vs2019_x64_ninja
+        - .cmake_test_windows
+        - .windows_builder_tags
+        - .cmake_test_artifacts
+        - .run_automatically
     dependencies:
         - build:windows-vs2019-x64-ninja
     needs:
         - build:windows-vs2019-x64-ninja
 
 test:windows-vs2019-x64:
-    <<:
-        - *windows_vs2019_x64
-        - *cmake_test_windows_external
-        - *windows_builder_ext_tags
-        - *run_automatically
+    extends:
+        - .windows_vs2019_x64
+        - .cmake_test_windows_external
+        - .windows_builder_ext_tags
+        - .run_automatically
     dependencies:
         - test:windows-vs2019-x64-ninja
     needs:

+ 3 - 3
.gitlab/artifacts.yml

@@ -1,6 +1,6 @@
 # Lists of paths for artifacts of various stages.
 
-.cmake_build_artifacts: &cmake_build_artifacts
+.cmake_build_artifacts:
     artifacts:
         expire_in: 1d
         paths:
@@ -64,14 +64,14 @@
             - build/DartConfiguation.tcl
             - build/CTestCustom.cmake
 
-.cmake_release_artifacts: &cmake_release_artifacts
+.cmake_release_artifacts:
     artifacts:
         expire_in: 5d
         paths:
             # Any packages made.
             - build/cmake-*-Linux-x86_64.*
 
-.cmake_test_artifacts: &cmake_test_artifacts
+.cmake_test_artifacts:
     artifacts:
         expire_in: 1d
         paths:

+ 17 - 17
.gitlab/os-linux.yml

@@ -4,7 +4,7 @@
 
 ### Release
 
-.release_linux: &release_linux
+.release_linux:
     image: "kitware/cmake:build-linux-x86_64-deps-2020-04-02@sha256:77e9ab183f34680990db9da5945473e288f0d6556bce79ecc1589670d656e157"
 
     variables:
@@ -13,13 +13,13 @@
 
 ### Debian
 
-.debian10: &debian10
+.debian10:
     image: "kitware/cmake:ci-debian10-x86_64-2020-04-27"
 
     variables:
         GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
 
-.debian10_iwyu: &debian10_iwyu
+.debian10_iwyu:
     extends: .debian10
 
     variables:
@@ -29,7 +29,7 @@
 
 ### Fedora
 
-.fedora31: &fedora31
+.fedora31:
     image: "kitware/cmake:ci-fedora31-x86_64-2020-06-01"
 
     variables:
@@ -37,7 +37,7 @@
 
 #### Lint builds
 
-.fedora31_tidy: &fedora31_tidy
+.fedora31_tidy:
     extends: .fedora31
 
     variables:
@@ -45,7 +45,7 @@
         CTEST_NO_WARNINGS_ALLOWED: 1
         CMake_SKIP_INSTALL: 1
 
-.fedora31_sphinx: &fedora31_sphinx
+.fedora31_sphinx:
     extends: .fedora31
 
     variables:
@@ -56,14 +56,14 @@
 
 #### Build and test
 
-.fedora31_ninja: &fedora31_ninja
+.fedora31_ninja:
     extends: .fedora31
 
     variables:
         CMAKE_CONFIGURATION: fedora31_ninja
         CTEST_NO_WARNINGS_ALLOWED: 1
 
-.fedora31_ninja_multi: &fedora31_ninja_multi
+.fedora31_ninja_multi:
     extends: .fedora31
 
     variables:
@@ -71,7 +71,7 @@
         CTEST_NO_WARNINGS_ALLOWED: 1
         CMAKE_GENERATOR: "Ninja Multi-Config"
 
-.fedora31_makefiles: &fedora31_makefiles
+.fedora31_makefiles:
     extends: .fedora31
 
     variables:
@@ -81,14 +81,14 @@
 
 ### CUDA builds
 
-.cuda10.2: &cuda
+.cuda10.2:
     image: "kitware/cmake:ci-cuda10.2-x86_64-2020-06-11"
 
     variables:
         GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
         CTEST_LABELS: "CUDA"
 
-.cuda10.2_nvidia: &cuda10_2_nvidia
+.cuda10.2_nvidia:
     extends: .cuda10.2
 
     variables:
@@ -97,20 +97,20 @@
 
 ## Tags
 
-.linux_builder_tags: &linux_builder_tags
+.linux_builder_tags:
     tags:
         - build
         - docker
         - linux
 
-.linux_builder_tags_qt: &linux_builder_tags_qt
+.linux_builder_tags_qt:
     tags:
         - build
         - docker
         - linux
         - linux-3.17 # Needed to be able to load Fedora's Qt libraries.
 
-.linux_builder_tags_cuda: &linux_builder_tags_cuda
+.linux_builder_tags_cuda:
     tags:
         - cuda-rt
         - docker
@@ -118,7 +118,7 @@
 
 ## Linux-specific scripts
 
-.cmake_build_release_linux: &cmake_build_release_linux
+.cmake_build_release_linux:
     stage: build
 
     script:
@@ -150,7 +150,7 @@
 
     interruptible: true
 
-.cmake_test_linux_package: &cmake_test_linux_package
+.cmake_test_linux_package:
     stage: test-ext
 
     script:
@@ -166,7 +166,7 @@
 
     interruptible: true
 
-.cmake_test_linux_external: &cmake_test_linux_external
+.cmake_test_linux_external:
     stage: test-ext
 
     script:

+ 8 - 8
.gitlab/os-macos.yml

@@ -2,7 +2,7 @@
 
 ## Base configurations
 
-.macos: &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
@@ -11,7 +11,7 @@
 
 ### Build and test
 
-.macos_build: &macos_build
+.macos_build:
     extends: .macos
 
     variables:
@@ -22,14 +22,14 @@
         # could run at the same time, so we drop it.
         GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
 
-.macos_ninja: &macos_ninja
+.macos_ninja:
     extends: .macos_build
 
     variables:
         CMAKE_CONFIGURATION: macos_ninja
         CTEST_NO_WARNINGS_ALLOWED: 1
 
-.macos_makefiles: &macos_makefiles
+.macos_makefiles:
     extends: .macos_build
 
     variables:
@@ -39,7 +39,7 @@
 
 ### External testing
 
-.macos_xcode: &macos_xcode
+.macos_xcode:
     extends: .macos
 
     variables:
@@ -48,7 +48,7 @@
 
 ## Tags
 
-.macos_builder_tags: &macos_builder_tags
+.macos_builder_tags:
     tags:
         - cmake # Since this is a bare runner, pin to a project.
         - macos
@@ -56,7 +56,7 @@
         - xcode-11.5
         - nonconcurrent
 
-.macos_builder_ext_tags: &macos_builder_ext_tags
+.macos_builder_ext_tags:
     tags:
         - cmake # Since this is a bare runner, pin to a project.
         - macos
@@ -66,7 +66,7 @@
 
 ## macOS-specific scripts
 
-.cmake_test_macos_external: &cmake_test_macos_external
+.cmake_test_macos_external:
     stage: test-ext
 
     script:

+ 2 - 2
.gitlab/os-unix.yml

@@ -10,7 +10,7 @@
     - "[ \"$( uname -s )\" = \"Darwin\" ] && cmake -P .gitlab/ci/download_qt.cmake"
     - "[ \"$( uname -s )\" = \"Darwin\" ] && export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt"
 
-.cmake_build_unix: &cmake_build_unix
+.cmake_build_unix:
     stage: build
 
     script:
@@ -25,7 +25,7 @@
 
     interruptible: true
 
-.cmake_test_unix: &cmake_test_unix
+.cmake_test_unix:
     stage: test
 
     script:

+ 10 - 10
.gitlab/os-windows.yml

@@ -2,13 +2,13 @@
 
 ## Base configurations
 
-.windows: &windows
+.windows:
     variables:
         GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake ci ext\\$CI_CONCURRENT_ID"
 
 ### Build and test
 
-.windows_build: &windows_build
+.windows_build:
     extends: .windows
 
     variables:
@@ -19,7 +19,7 @@
         # could run at the same time, so we drop it.
         GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake ci"
 
-.windows_ninja: &windows_ninja
+.windows_ninja:
     extends: .windows_build
 
     variables:
@@ -29,7 +29,7 @@
         CMAKE_BUILD_TYPE: Release
         CTEST_NO_WARNINGS_ALLOWED: 1
 
-.windows_vs2019_x64_ninja: &windows_vs2019_x64_ninja
+.windows_vs2019_x64_ninja:
     extends: .windows_ninja
 
     variables:
@@ -40,7 +40,7 @@
 
 ### External testing
 
-.windows_vs2019_x64: &windows_vs2019_x64
+.windows_vs2019_x64:
     extends: .windows
 
     variables:
@@ -51,7 +51,7 @@
 
 ## Tags
 
-.windows_builder_tags: &windows_builder_tags
+.windows_builder_tags:
     tags:
         - cmake # Since this is a bare runner, pin to a project.
         - windows
@@ -60,7 +60,7 @@
         - msvc-19.25
         - nonconcurrent
 
-.windows_builder_ext_tags: &windows_builder_ext_tags
+.windows_builder_ext_tags:
     tags:
         - cmake # Since this is a bare runner, pin to a project.
         - windows
@@ -81,7 +81,7 @@
     - cmake -P .gitlab/ci/download_qt.cmake
     - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\qt\bin;$env:PATH"
 
-.cmake_build_windows: &cmake_build_windows
+.cmake_build_windows:
     stage: build
 
     script:
@@ -97,7 +97,7 @@
 
     interruptible: true
 
-.cmake_test_windows: &cmake_test_windows
+.cmake_test_windows:
     stage: test
 
     script:
@@ -107,7 +107,7 @@
 
     interruptible: true
 
-.cmake_test_windows_external: &cmake_test_windows_external
+.cmake_test_windows_external:
     stage: test-ext
 
     script:

+ 2 - 2
.gitlab/rules.yml

@@ -1,6 +1,6 @@
 # Rules for where jobs can run
 
-.run_manually: &run_manually
+.run_manually:
     rules:
         - if: '$CI_PROJECT_PATH == "cmake/cmake"'
           when: delayed
@@ -9,7 +9,7 @@
           when: manual
         - when: never
 
-.run_automatically: &run_automatically
+.run_automatically:
     rules:
         - if: '$CI_PROJECT_PATH == "cmake/cmake"'
           when: always