mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-01-26 02:57:56 +00:00
Merge topic 'ci-single-rules-block'
537828483d gitlab-ci: configure development documentation and continuous pipelines fff061d1e7 gitlab-ci: name pipelines d505cf03d9 gitlab-ci: use a single rules block for "dependent" jobs b1ec96bfa7 gitlab-ci: use a single rules block for "automatic" jobs 51fc225941 gitlab-ci: use a single rules block for "manual" jobs 2b944b7b26 gitlab-ci: port scheduled pipeline logic to the single rules block e02d632072 gitlab-ci: port merge request pipeline logic to the single rules block d42be92245 gitlab-ci: port continuous pipeline logic to the single rules block ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11604
This commit is contained in:
commit
56597a2fea
368
.gitlab-ci.yml
368
.gitlab-ci.yml
File diff suppressed because it is too large
Load Diff
@ -903,21 +903,23 @@
|
|||||||
- .intelclassic_makefiles
|
- .intelclassic_makefiles
|
||||||
- .cmake_test_linux_release
|
- .cmake_test_linux_release
|
||||||
- .linux_x86_64_tags
|
- .linux_x86_64_tags
|
||||||
- .run_manually
|
- .rules
|
||||||
- .needs_centos7_x86_64
|
- .needs_centos7_x86_64
|
||||||
variables:
|
variables:
|
||||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
CMAKE_CI_NO_MR: "true"
|
CMAKE_CI_JOB_NO_MR: "true"
|
||||||
|
CMAKE_CI_JOB_RUN_MANUALLY: "true"
|
||||||
|
|
||||||
.cmake_test_linux_inteloneapi_makefiles:
|
.cmake_test_linux_inteloneapi_makefiles:
|
||||||
extends:
|
extends:
|
||||||
- .inteloneapi_makefiles
|
- .inteloneapi_makefiles
|
||||||
- .cmake_test_linux_release
|
- .cmake_test_linux_release
|
||||||
- .linux_x86_64_tags
|
- .linux_x86_64_tags
|
||||||
- .run_manually
|
- .rules
|
||||||
- .needs_centos7_x86_64
|
- .needs_centos7_x86_64
|
||||||
variables:
|
variables:
|
||||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
CMAKE_CI_JOB_RUN_MANUALLY: "true"
|
||||||
|
|
||||||
.cmake_build_sunos_release:
|
.cmake_build_sunos_release:
|
||||||
stage: build
|
stage: build
|
||||||
|
|||||||
@ -90,7 +90,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_x86_64_xcode
|
CMAKE_CONFIGURATION: macos_x86_64_xcode
|
||||||
CMAKE_GENERATOR: Xcode
|
CMAKE_GENERATOR: Xcode
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.macos_arm64_xcode:
|
.macos_arm64_xcode:
|
||||||
extends: .macos
|
extends: .macos
|
||||||
@ -98,7 +98,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_arm64_xcode
|
CMAKE_CONFIGURATION: macos_arm64_xcode
|
||||||
CMAKE_GENERATOR: Xcode
|
CMAKE_GENERATOR: Xcode
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.macos_arm64_xcode_symlinked:
|
.macos_arm64_xcode_symlinked:
|
||||||
extends: .macos
|
extends: .macos
|
||||||
@ -106,7 +106,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_arm64_xcode_symlinked
|
CMAKE_CONFIGURATION: macos_arm64_xcode_symlinked
|
||||||
CMAKE_GENERATOR: Xcode
|
CMAKE_GENERATOR: Xcode
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
CMAKE_CI_IN_SYMLINK_TREE: 1
|
CMAKE_CI_IN_SYMLINK_TREE: 1
|
||||||
CMAKE_CI_BUILD_DIR: "real_work/work/build"
|
CMAKE_CI_BUILD_DIR: "real_work/work/build"
|
||||||
|
|
||||||
@ -116,7 +116,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_arm64_xcode_ub
|
CMAKE_CONFIGURATION: macos_arm64_xcode_ub
|
||||||
CMAKE_GENERATOR: Xcode
|
CMAKE_GENERATOR: Xcode
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.macos_arm64_ninja_multi:
|
.macos_arm64_ninja_multi:
|
||||||
extends: .macos
|
extends: .macos
|
||||||
@ -124,14 +124,14 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_arm64_ninja_multi
|
CMAKE_CONFIGURATION: macos_arm64_ninja_multi
|
||||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.macos_x86_64_ninja_ub:
|
.macos_x86_64_ninja_ub:
|
||||||
extends: .macos
|
extends: .macos
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_x86_64_ninja_ub
|
CMAKE_CONFIGURATION: macos_x86_64_ninja_ub
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.macos_arm64_fastbuild:
|
.macos_arm64_fastbuild:
|
||||||
extends: .macos
|
extends: .macos
|
||||||
@ -139,7 +139,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: macos_arm64_fastbuild
|
CMAKE_CONFIGURATION: macos_arm64_fastbuild
|
||||||
CMAKE_GENERATOR: FASTBuild
|
CMAKE_GENERATOR: FASTBuild
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
## Tags
|
## Tags
|
||||||
|
|
||||||
|
|||||||
@ -130,7 +130,7 @@
|
|||||||
CMAKE_GENERATOR: "Visual Studio 18 2026"
|
CMAKE_GENERATOR: "Visual Studio 18 2026"
|
||||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
CMAKE_GENERATOR_PLATFORM: "x64"
|
||||||
CMAKE_GENERATOR_TOOLSET: "v145,version=14.50.35717"
|
CMAKE_GENERATOR_TOOLSET: "v145,version=14.50.35717"
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_vs2022_x64:
|
.windows_vs2022_x64:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -140,7 +140,7 @@
|
|||||||
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
||||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
CMAKE_GENERATOR_PLATFORM: "x64"
|
||||||
CMAKE_GENERATOR_TOOLSET: "v143,version=14.44.35207"
|
CMAKE_GENERATOR_TOOLSET: "v143,version=14.44.35207"
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_vs2019_x64:
|
.windows_vs2019_x64:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -150,7 +150,7 @@
|
|||||||
CMAKE_GENERATOR: "Visual Studio 16 2019"
|
CMAKE_GENERATOR: "Visual Studio 16 2019"
|
||||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
CMAKE_GENERATOR_PLATFORM: "x64"
|
||||||
CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30133"
|
CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30133"
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_borland:
|
.windows_borland:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -158,7 +158,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_GENERATOR: "Borland Makefiles"
|
CMAKE_GENERATOR: "Borland Makefiles"
|
||||||
CMAKE_CI_BUILD_TYPE: Release
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_borland5.5:
|
.windows_borland5.5:
|
||||||
extends: .windows_borland
|
extends: .windows_borland
|
||||||
@ -178,14 +178,14 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_GENERATOR: "Ninja"
|
CMAKE_GENERATOR: "Ninja"
|
||||||
CMAKE_CI_BUILD_TYPE: Release
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_ninja_multi:
|
.windows_ninja_multi:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_nmake:
|
.windows_nmake:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -193,7 +193,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_GENERATOR: "NMake Makefiles"
|
CMAKE_GENERATOR: "NMake Makefiles"
|
||||||
CMAKE_CI_BUILD_TYPE: Release
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_jom:
|
.windows_jom:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -201,7 +201,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_GENERATOR: "NMake Makefiles JOM"
|
CMAKE_GENERATOR: "NMake Makefiles JOM"
|
||||||
CMAKE_CI_BUILD_TYPE: Release
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_fastbuild:
|
.windows_fastbuild:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -209,7 +209,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_GENERATOR: "FASTBuild"
|
CMAKE_GENERATOR: "FASTBuild"
|
||||||
CMAKE_CI_BUILD_TYPE: Release
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_vs2026_x64_nmake:
|
.windows_vs2026_x64_nmake:
|
||||||
extends:
|
extends:
|
||||||
@ -289,7 +289,7 @@
|
|||||||
GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
|
GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
|
||||||
CMAKE_GENERATOR: "Watcom WMake"
|
CMAKE_GENERATOR: "Watcom WMake"
|
||||||
CMAKE_CI_BUILD_TYPE: Release
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_openwatcom1.9:
|
.windows_openwatcom1.9:
|
||||||
extends: .windows_openwatcom
|
extends: .windows_openwatcom
|
||||||
@ -303,7 +303,7 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_GENERATOR: "Ninja"
|
CMAKE_GENERATOR: "Ninja"
|
||||||
CMAKE_CI_BUILD_TYPE: Release
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_orangec6.73.1:
|
.windows_orangec6.73.1:
|
||||||
extends: .windows_orangec
|
extends: .windows_orangec
|
||||||
@ -319,7 +319,7 @@
|
|||||||
CMAKE_GENERATOR: "Visual Studio 18 2026"
|
CMAKE_GENERATOR: "Visual Studio 18 2026"
|
||||||
CMAKE_GENERATOR_PLATFORM: "ARM64"
|
CMAKE_GENERATOR_PLATFORM: "ARM64"
|
||||||
CMAKE_GENERATOR_TOOLSET: "v145,version=14.50.35717"
|
CMAKE_GENERATOR_TOOLSET: "v145,version=14.50.35717"
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_arm64_vs2022:
|
.windows_arm64_vs2022:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -329,7 +329,7 @@
|
|||||||
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
||||||
CMAKE_GENERATOR_PLATFORM: "ARM64"
|
CMAKE_GENERATOR_PLATFORM: "ARM64"
|
||||||
CMAKE_GENERATOR_TOOLSET: "v143,version=14.44.35207"
|
CMAKE_GENERATOR_TOOLSET: "v143,version=14.44.35207"
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.mingw_osdn_io:
|
.mingw_osdn_io:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
@ -338,7 +338,7 @@
|
|||||||
# Place MinGW environment in a path without spaces.
|
# Place MinGW environment in a path without spaces.
|
||||||
GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
|
GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
|
||||||
CMAKE_CI_BUILD_TYPE: Debug
|
CMAKE_CI_BUILD_TYPE: Debug
|
||||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.mingw_osdn_io_mingw_makefiles:
|
.mingw_osdn_io_mingw_makefiles:
|
||||||
extends: .mingw_osdn_io
|
extends: .mingw_osdn_io
|
||||||
|
|||||||
@ -1,117 +1,218 @@
|
|||||||
# Rules for where jobs can run
|
# Rules for where jobs can run
|
||||||
|
|
||||||
.run_manually:
|
###
|
||||||
rules:
|
## Job variables:
|
||||||
- if: '$CMAKE_CI_PACKAGE != null || $CMAKE_CI_VERSION_UPDATE != null'
|
## CMAKE_CI_JOB_UPDATES_VERSION
|
||||||
when: never
|
## Set to "true" if the job performs a task that occurs with version
|
||||||
- if: '($CMAKE_CI_NIGHTLY == "true" && $CMAKE_CI_JOB_NIGHTLY == "false")'
|
## updates.
|
||||||
when: never
|
## CMAKE_CI_JOB_UPDATES_WEBSITE_HELP
|
||||||
- if: '$CMAKE_CI_NIGHTLY == "true"'
|
## Set to "true" if the job performs tasks to update website help.
|
||||||
when: on_success
|
## CMAKE_CI_JOB_NO_MR
|
||||||
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
|
## Set to "true" if the job should never run for merge requests.
|
||||||
when: never
|
## These jobs require secrets that MR pipelines cannot provide
|
||||||
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true"'
|
## (software license information, upload secrets, etc.).
|
||||||
when: delayed
|
## CMAKE_CI_JOB_PACKAGE_ONLY
|
||||||
start_in: 5 minutes
|
## Set to "true" if the job handles packaging tasks. These jobs will only
|
||||||
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
|
## run during packaging pipelines.
|
||||||
when: never
|
## CMAKE_CI_JOB_NIGHTLY
|
||||||
- if: '$CI_MERGE_REQUEST_ID'
|
## Set to "true" if the job should only run for nightly pipelines. Set to
|
||||||
when: manual
|
## "false" to suppress the job for nightly pipelines.
|
||||||
- if: '$CI_PROJECT_PATH == "cmake/cmake" && $CI_PIPELINE_SOURCE == "schedule"'
|
## CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS
|
||||||
when: on_success
|
## Set to "true" if the job should run even if dependent jobs fail (e.g.,
|
||||||
- if: '$CI_PROJECT_PATH == "cmake/cmake"'
|
## further testing of the same setup under a different generator. Should
|
||||||
when: manual
|
## only be used on jobs with `needs` on other jobs.
|
||||||
- when: never
|
## CMAKE_CI_JOB_RUN_MANUALLY
|
||||||
|
## Set to "true" if the job should be manually triggered in MRs.
|
||||||
|
## These jobs will also be delayed for branch update pipelines.
|
||||||
|
## Pipeline variables:
|
||||||
|
## CMAKE_CI_VERSION_UPDATE
|
||||||
|
## Set to "true" if the pipeline should perform version update tasks.
|
||||||
|
## No other tasks are performed if set.
|
||||||
|
## CMAKE_CI_PACKAGE
|
||||||
|
## Set to either "dev" or `vX.Y` to construct a packaging pipeline. Also
|
||||||
|
## uploads constructed packages. May also run website help jobs. No other
|
||||||
|
## tasks are performed if set.
|
||||||
|
## CMAKE_CI_NIGHTLY
|
||||||
|
## Set to "true" to enable nightly-only jobs.
|
||||||
|
## Project variables:
|
||||||
|
## CMAKE_CI_PROJECT_MAIN_BRANCH
|
||||||
|
## Set to the name of the main integration branch where development
|
||||||
|
## version documentation pipelines run.
|
||||||
|
## CMAKE_CI_PROJECT_CONTINUOUS_BRANCH
|
||||||
|
## Set to the name of the staging branch where continuous pipelines run.
|
||||||
|
####
|
||||||
|
|
||||||
.run_automatically:
|
variables:
|
||||||
rules:
|
CMAKE_CI_PIPELINE_NAME: 'Branch "$CI_COMMIT_REF_NAME"'
|
||||||
- if: '$CMAKE_CI_PACKAGE != null || $CMAKE_CI_VERSION_UPDATE != null'
|
|
||||||
when: never
|
|
||||||
- if: '($CMAKE_CI_NIGHTLY == "true" && $CMAKE_CI_JOB_NIGHTLY == "false")'
|
|
||||||
when: never
|
|
||||||
- if: '$CMAKE_CI_NIGHTLY == "true"'
|
|
||||||
when: on_success
|
|
||||||
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
|
|
||||||
when: never
|
|
||||||
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true"'
|
|
||||||
when: on_success
|
|
||||||
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
|
|
||||||
when: never
|
|
||||||
- if: '$CI_MERGE_REQUEST_ID'
|
|
||||||
when: on_success
|
|
||||||
- if: '$CI_PROJECT_PATH == "cmake/cmake" && $CI_PIPELINE_SOURCE == "schedule"'
|
|
||||||
when: on_success
|
|
||||||
- if: '$CI_PROJECT_PATH == "cmake/cmake"'
|
|
||||||
when: delayed
|
|
||||||
start_in: 5 minutes
|
|
||||||
- when: never
|
|
||||||
|
|
||||||
.run_dependent:
|
# When to even consider running a pipeline.
|
||||||
|
workflow:
|
||||||
|
name: "$CMAKE_CI_PIPELINE_NAME"
|
||||||
rules:
|
rules:
|
||||||
- if: '$CMAKE_CI_PACKAGE != null || $CMAKE_CI_VERSION_UPDATE != null'
|
# Run for merge requests.
|
||||||
when: never
|
- if: '$CI_MERGE_REQUEST_ID'
|
||||||
- if: '($CMAKE_CI_NIGHTLY == "true" && $CMAKE_CI_JOB_NIGHTLY == "false")'
|
|
||||||
when: never
|
|
||||||
- if: '($CMAKE_CI_NIGHTLY == "true" && $CMAKE_CI_NIGHTLY_IGNORE_DEPS == "true")'
|
|
||||||
when: always
|
when: always
|
||||||
- if: '$CMAKE_CI_NIGHTLY == "true"'
|
auto_cancel:
|
||||||
when: on_success
|
# Cancel all pipeline jobs if a new commit comes in on the branch/tag.
|
||||||
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
|
on_new_commit: interruptible
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_PIPELINE_NAME: 'Merge request !$CI_MERGE_REQUEST_IID'
|
||||||
|
# If this is not a MR, do not run for other projects.
|
||||||
|
- if: '$CI_PROJECT_PATH != "cmake/cmake" && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == null && $CMAKE_CI_PROJECT_MAIN_BRANCH == null'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true"'
|
# Run for schedules.
|
||||||
when: on_success
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||||
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
|
when: always
|
||||||
when: never
|
auto_cancel:
|
||||||
- if: '$CI_MERGE_REQUEST_ID'
|
# Never cancel scheduled pipelines because of new commits.
|
||||||
when: on_success
|
on_new_commit: none
|
||||||
- if: '$CI_PROJECT_PATH == "cmake/cmake"'
|
variables:
|
||||||
when: on_success
|
CMAKE_CI_PIPELINE_NAME: 'Schedule "$CI_PIPELINE_SCHEDULE_DESCRIPTION"'
|
||||||
|
# Run for development documentation.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_MAIN_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_MAIN_BRANCH == $CI_COMMIT_BRANCH'
|
||||||
|
when: always
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_PIPELINE_NAME: 'Development documentation on branch "$CI_COMMIT_REF_NAME"'
|
||||||
|
# Run for continuous testing of staging branch.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH'
|
||||||
|
when: always
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_PIPELINE_NAME: 'Continuous branch "$CI_COMMIT_REF_NAME"'
|
||||||
|
# Run for protected branches.
|
||||||
|
- if: '$CI_COMMIT_REF_PROTECTED == "true"'
|
||||||
|
when: always
|
||||||
|
auto_cancel:
|
||||||
|
# Cancel all pipeline jobs if a new commit comes in on the branch.
|
||||||
|
on_new_commit: interruptible
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_PIPELINE_NAME: 'Protected branch "$CI_COMMIT_REF_NAME"'
|
||||||
|
# Run for tags.
|
||||||
|
- if: '$CI_COMMIT_TAG'
|
||||||
|
when: always
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_PIPELINE_NAME: 'Tag "$CI_COMMIT_TAG"'
|
||||||
|
# Skip pipelines in all other cases.
|
||||||
- when: never
|
- when: never
|
||||||
|
|
||||||
.run_only_for_package:
|
.rules:
|
||||||
rules:
|
rules:
|
||||||
- if: '$CMAKE_CI_PACKAGE == "dev" && $CI_JOB_STAGE != "upload"'
|
### Version update pipelines.
|
||||||
|
# Version update pipelines run version update jobs automatically.
|
||||||
|
- if: '$CMAKE_CI_VERSION_UPDATE == "true" && $CMAKE_CI_JOB_UPDATES_VERSION == "true"'
|
||||||
when: on_success
|
when: on_success
|
||||||
- if: '$CMAKE_CI_PACKAGE == "dev" && $CI_JOB_STAGE == "upload"'
|
# Version update pipelines run no other jobs.
|
||||||
variables:
|
|
||||||
RSYNC_DESTINATION: "kitware@cmake.org:dev/"
|
|
||||||
when: on_success
|
|
||||||
- if: '$CMAKE_CI_PACKAGE != null && $CI_JOB_STAGE == "prep"'
|
|
||||||
when: manual
|
|
||||||
- if: '$CMAKE_CI_PACKAGE != null && $CI_JOB_STAGE != "upload"'
|
|
||||||
when: on_success
|
|
||||||
- if: '$CMAKE_CI_PACKAGE != null && $CI_JOB_STAGE == "upload" && $CMAKE_CI_PACKAGE_URL != null'
|
|
||||||
variables:
|
|
||||||
RSYNC_DESTINATION: "$CMAKE_CI_PACKAGE_URL"
|
|
||||||
when: on_success
|
|
||||||
- when: never
|
|
||||||
|
|
||||||
.run_cmake_org_help:
|
|
||||||
rules:
|
|
||||||
- if: '$CMAKE_CI_VERSION_UPDATE != null'
|
- if: '$CMAKE_CI_VERSION_UPDATE != null'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CMAKE_CI_PACKAGE =~ /v[0-9]+\.[0-9]+/'
|
# Version update jobs do not run in any other situations.
|
||||||
|
- if: '$CMAKE_CI_JOB_UPDATES_VERSION == "true"'
|
||||||
|
when: never
|
||||||
|
|
||||||
|
### Website help update jobs run in a variety of pipeline kinds.
|
||||||
|
# Packaging pipelines upload release version documentation to the website upon request.
|
||||||
|
- if: '$CMAKE_CI_PACKAGE =~ /v[0-9]+\.[0-9]+/ && $CMAKE_CI_JOB_UPDATES_WEBSITE_HELP == "true"'
|
||||||
variables:
|
variables:
|
||||||
RSYNC_DESTINATION: "kitware@cmake.org:$CMAKE_CI_PACKAGE/"
|
RSYNC_DESTINATION: "kitware@cmake.org:$CMAKE_CI_PACKAGE/"
|
||||||
CMAKE_CI_SPHINX_QTHELP: "ON"
|
CMAKE_CI_SPHINX_QTHELP: "ON"
|
||||||
CMAKE_CI_VERSION_NO_GIT: "ON"
|
CMAKE_CI_VERSION_NO_GIT: "ON"
|
||||||
when: manual
|
when: manual
|
||||||
- if: '$CMAKE_CI_PROJECT_MAIN_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_MAIN_BRANCH == $CI_COMMIT_BRANCH'
|
# Development documentation pipelines upload documentation to the website automatically.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_MAIN_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_MAIN_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_UPDATES_WEBSITE_HELP == "true"'
|
||||||
variables:
|
variables:
|
||||||
RSYNC_DESTINATION: "kitware@cmake.org:git-master/"
|
RSYNC_DESTINATION: "kitware@cmake.org:git-master/"
|
||||||
CMAKE_CI_SPHINX_QTHELP: "OFF"
|
CMAKE_CI_SPHINX_QTHELP: "OFF"
|
||||||
CMAKE_CI_VERSION_NO_GIT: "OFF"
|
CMAKE_CI_VERSION_NO_GIT: "OFF"
|
||||||
when: on_success
|
when: on_success
|
||||||
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH'
|
# Continuous pipelines upload staging branch documentation to the website automatically.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_UPDATES_WEBSITE_HELP == "true"'
|
||||||
variables:
|
variables:
|
||||||
RSYNC_DESTINATION: "kitware@cmake.org:git-stage/"
|
RSYNC_DESTINATION: "kitware@cmake.org:git-stage/"
|
||||||
CMAKE_CI_SPHINX_QTHELP: "OFF"
|
CMAKE_CI_SPHINX_QTHELP: "OFF"
|
||||||
CMAKE_CI_VERSION_NO_GIT: "OFF"
|
CMAKE_CI_VERSION_NO_GIT: "OFF"
|
||||||
when: on_success
|
when: on_success
|
||||||
- when: never
|
# Website help update jobs do not run in any other situations.
|
||||||
|
- if: '$CMAKE_CI_JOB_UPDATES_WEBSITE_HELP == "true"'
|
||||||
|
when: never
|
||||||
|
|
||||||
.run_version_update:
|
### Packaging pipelines.
|
||||||
rules:
|
# Packaging pipelines build development version packages automatically.
|
||||||
- if: '$CMAKE_CI_VERSION_UPDATE != null'
|
- if: '$CMAKE_CI_PACKAGE == "dev" && $CMAKE_CI_JOB_PACKAGE_ONLY == "true" && $CI_JOB_STAGE != "upload"'
|
||||||
when: on_success
|
when: on_success
|
||||||
- when: never
|
# Packaging pipelines upload development version packages to the website automatically.
|
||||||
|
- if: '$CMAKE_CI_PACKAGE == "dev" && $CMAKE_CI_JOB_PACKAGE_ONLY == "true" && $CI_JOB_STAGE == "upload"'
|
||||||
|
variables:
|
||||||
|
RSYNC_DESTINATION: "kitware@cmake.org:dev/"
|
||||||
|
when: on_success
|
||||||
|
# Packaging pipelines build release version packages upon request.
|
||||||
|
- if: '$CMAKE_CI_PACKAGE != null && $CMAKE_CI_JOB_PACKAGE_ONLY == "true" && $CI_JOB_STAGE == "prep"'
|
||||||
|
when: manual
|
||||||
|
- if: '$CMAKE_CI_PACKAGE != null && $CMAKE_CI_JOB_PACKAGE_ONLY == "true" && $CI_JOB_STAGE != "upload"'
|
||||||
|
when: on_success
|
||||||
|
# Packaging pipelines upload release version packages to a staging area.
|
||||||
|
- if: '$CMAKE_CI_PACKAGE != null && $CMAKE_CI_JOB_PACKAGE_ONLY == "true" && $CI_JOB_STAGE == "upload" && $CMAKE_CI_PACKAGE_URL != null'
|
||||||
|
variables:
|
||||||
|
RSYNC_DESTINATION: "$CMAKE_CI_PACKAGE_URL"
|
||||||
|
when: on_success
|
||||||
|
# Packaging pipelines run no other jobs.
|
||||||
|
- if: '$CMAKE_CI_PACKAGE != null'
|
||||||
|
when: never
|
||||||
|
# Package-only jobs do not run in any other situations.
|
||||||
|
- if: '$CMAKE_CI_JOB_PACKAGE_ONLY == "true"'
|
||||||
|
when: never
|
||||||
|
|
||||||
|
### Development documentation pipelines.
|
||||||
|
# Development documentation pipelines run no other jobs.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_MAIN_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_MAIN_BRANCH == $CI_COMMIT_BRANCH'
|
||||||
|
when: never
|
||||||
|
|
||||||
|
### Continuous pipelines.
|
||||||
|
# Continuous pipelines run manual jobs automatically after 5 minutes.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true" && $CMAKE_CI_JOB_RUN_MANUALLY == "true"'
|
||||||
|
when: delayed
|
||||||
|
start_in: 5 minutes
|
||||||
|
# Continuous pipelines run other jobs automatically.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH && $CMAKE_CI_JOB_CONTINUOUS == "true"'
|
||||||
|
when: on_success
|
||||||
|
# Continuous pipelines run no other jobs.
|
||||||
|
- if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH'
|
||||||
|
when: never
|
||||||
|
|
||||||
|
### Nightly pipelines.
|
||||||
|
# Nightly pipelines do not run jobs that are explicitly excluded.
|
||||||
|
- if: '$CMAKE_CI_NIGHTLY == "true" && $CMAKE_CI_JOB_NIGHTLY == "false"'
|
||||||
|
when: never
|
||||||
|
# Nightly pipelines always run jobs that ignore their dependencies.
|
||||||
|
- if: '$CMAKE_CI_NIGHTLY == "true" && $CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS == "true"'
|
||||||
|
when: always
|
||||||
|
# Nightly pipelines run all other jobs automatically when ready.
|
||||||
|
- if: '$CMAKE_CI_NIGHTLY == "true"'
|
||||||
|
when: on_success
|
||||||
|
# Nightly-only jobs do not run in any other situations.
|
||||||
|
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
|
||||||
|
when: never
|
||||||
|
|
||||||
|
### Merge request pipelines.
|
||||||
|
# Merge request pipelines do not run jobs that are explicitly excluded.
|
||||||
|
- if: '$CI_MERGE_REQUEST_ID && $CMAKE_CI_JOB_NO_MR == "true"'
|
||||||
|
when: never
|
||||||
|
# Merge request pipelines run manual jobs upon request.
|
||||||
|
- if: '$CI_MERGE_REQUEST_ID && $CMAKE_CI_JOB_RUN_MANUALLY == "true"'
|
||||||
|
when: manual
|
||||||
|
# Merge request pipelines run other jobs automatically when ready.
|
||||||
|
- if: '$CI_MERGE_REQUEST_ID'
|
||||||
|
when: on_success
|
||||||
|
|
||||||
|
### Scheduled pipelines.
|
||||||
|
# Scheduled pipelines run all jobs automatically when ready.
|
||||||
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||||
|
when: on_success
|
||||||
|
|
||||||
|
### Other pipelines.
|
||||||
|
# Other pipelines run manual jobs upon request.
|
||||||
|
- if: '$CMAKE_CI_JOB_RUN_MANUALLY == "true"'
|
||||||
|
when: manual
|
||||||
|
# Other pipelines run jobs in the `build` stage automatically after 5 minutes.
|
||||||
|
- if: '$CI_JOB_STAGE == "build"'
|
||||||
|
when: delayed
|
||||||
|
start_in: 5 minutes
|
||||||
|
# Other pipelines run other jobs automatically when ready.
|
||||||
|
- when: on_success
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user