mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-01-26 11:04:33 +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
|
||||
- .cmake_test_linux_release
|
||||
- .linux_x86_64_tags
|
||||
- .run_manually
|
||||
- .rules
|
||||
- .needs_centos7_x86_64
|
||||
variables:
|
||||
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:
|
||||
extends:
|
||||
- .inteloneapi_makefiles
|
||||
- .cmake_test_linux_release
|
||||
- .linux_x86_64_tags
|
||||
- .run_manually
|
||||
- .rules
|
||||
- .needs_centos7_x86_64
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
CMAKE_CI_JOB_RUN_MANUALLY: "true"
|
||||
|
||||
.cmake_build_sunos_release:
|
||||
stage: build
|
||||
|
||||
@ -90,7 +90,7 @@
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_x86_64_xcode
|
||||
CMAKE_GENERATOR: Xcode
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.macos_arm64_xcode:
|
||||
extends: .macos
|
||||
@ -98,7 +98,7 @@
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_arm64_xcode
|
||||
CMAKE_GENERATOR: Xcode
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.macos_arm64_xcode_symlinked:
|
||||
extends: .macos
|
||||
@ -106,7 +106,7 @@
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_arm64_xcode_symlinked
|
||||
CMAKE_GENERATOR: Xcode
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_IN_SYMLINK_TREE: 1
|
||||
CMAKE_CI_BUILD_DIR: "real_work/work/build"
|
||||
|
||||
@ -116,7 +116,7 @@
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_arm64_xcode_ub
|
||||
CMAKE_GENERATOR: Xcode
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.macos_arm64_ninja_multi:
|
||||
extends: .macos
|
||||
@ -124,14 +124,14 @@
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_arm64_ninja_multi
|
||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.macos_x86_64_ninja_ub:
|
||||
extends: .macos
|
||||
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_x86_64_ninja_ub
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.macos_arm64_fastbuild:
|
||||
extends: .macos
|
||||
@ -139,7 +139,7 @@
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: macos_arm64_fastbuild
|
||||
CMAKE_GENERATOR: FASTBuild
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
## Tags
|
||||
|
||||
|
||||
@ -130,7 +130,7 @@
|
||||
CMAKE_GENERATOR: "Visual Studio 18 2026"
|
||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
||||
CMAKE_GENERATOR_TOOLSET: "v145,version=14.50.35717"
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_vs2022_x64:
|
||||
extends: .windows
|
||||
@ -140,7 +140,7 @@
|
||||
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
||||
CMAKE_GENERATOR_TOOLSET: "v143,version=14.44.35207"
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_vs2019_x64:
|
||||
extends: .windows
|
||||
@ -150,7 +150,7 @@
|
||||
CMAKE_GENERATOR: "Visual Studio 16 2019"
|
||||
CMAKE_GENERATOR_PLATFORM: "x64"
|
||||
CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30133"
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_borland:
|
||||
extends: .windows
|
||||
@ -158,7 +158,7 @@
|
||||
variables:
|
||||
CMAKE_GENERATOR: "Borland Makefiles"
|
||||
CMAKE_CI_BUILD_TYPE: Release
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_borland5.5:
|
||||
extends: .windows_borland
|
||||
@ -178,14 +178,14 @@
|
||||
variables:
|
||||
CMAKE_GENERATOR: "Ninja"
|
||||
CMAKE_CI_BUILD_TYPE: Release
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_ninja_multi:
|
||||
extends: .windows
|
||||
|
||||
variables:
|
||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_nmake:
|
||||
extends: .windows
|
||||
@ -193,7 +193,7 @@
|
||||
variables:
|
||||
CMAKE_GENERATOR: "NMake Makefiles"
|
||||
CMAKE_CI_BUILD_TYPE: Release
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_jom:
|
||||
extends: .windows
|
||||
@ -201,7 +201,7 @@
|
||||
variables:
|
||||
CMAKE_GENERATOR: "NMake Makefiles JOM"
|
||||
CMAKE_CI_BUILD_TYPE: Release
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_fastbuild:
|
||||
extends: .windows
|
||||
@ -209,7 +209,7 @@
|
||||
variables:
|
||||
CMAKE_GENERATOR: "FASTBuild"
|
||||
CMAKE_CI_BUILD_TYPE: Release
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_vs2026_x64_nmake:
|
||||
extends:
|
||||
@ -289,7 +289,7 @@
|
||||
GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
|
||||
CMAKE_GENERATOR: "Watcom WMake"
|
||||
CMAKE_CI_BUILD_TYPE: Release
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_openwatcom1.9:
|
||||
extends: .windows_openwatcom
|
||||
@ -303,7 +303,7 @@
|
||||
variables:
|
||||
CMAKE_GENERATOR: "Ninja"
|
||||
CMAKE_CI_BUILD_TYPE: Release
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_orangec6.73.1:
|
||||
extends: .windows_orangec
|
||||
@ -319,7 +319,7 @@
|
||||
CMAKE_GENERATOR: "Visual Studio 18 2026"
|
||||
CMAKE_GENERATOR_PLATFORM: "ARM64"
|
||||
CMAKE_GENERATOR_TOOLSET: "v145,version=14.50.35717"
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.windows_arm64_vs2022:
|
||||
extends: .windows
|
||||
@ -329,7 +329,7 @@
|
||||
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
||||
CMAKE_GENERATOR_PLATFORM: "ARM64"
|
||||
CMAKE_GENERATOR_TOOLSET: "v143,version=14.44.35207"
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.mingw_osdn_io:
|
||||
extends: .windows
|
||||
@ -338,7 +338,7 @@
|
||||
# Place MinGW environment in a path without spaces.
|
||||
GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
|
||||
CMAKE_CI_BUILD_TYPE: Debug
|
||||
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||
CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS: "true"
|
||||
|
||||
.mingw_osdn_io_mingw_makefiles:
|
||||
extends: .mingw_osdn_io
|
||||
|
||||
@ -1,117 +1,218 @@
|
||||
# Rules for where jobs can run
|
||||
|
||||
.run_manually:
|
||||
rules:
|
||||
- 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: delayed
|
||||
start_in: 5 minutes
|
||||
- if: '($CMAKE_CI_NO_MR == "true" && $CI_MERGE_REQUEST_ID)'
|
||||
when: never
|
||||
- if: '$CI_MERGE_REQUEST_ID'
|
||||
when: manual
|
||||
- if: '$CI_PROJECT_PATH == "cmake/cmake" && $CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: on_success
|
||||
- if: '$CI_PROJECT_PATH == "cmake/cmake"'
|
||||
when: manual
|
||||
- when: never
|
||||
###
|
||||
## Job variables:
|
||||
## CMAKE_CI_JOB_UPDATES_VERSION
|
||||
## Set to "true" if the job performs a task that occurs with version
|
||||
## updates.
|
||||
## CMAKE_CI_JOB_UPDATES_WEBSITE_HELP
|
||||
## Set to "true" if the job performs tasks to update website help.
|
||||
## CMAKE_CI_JOB_NO_MR
|
||||
## Set to "true" if the job should never run for merge requests.
|
||||
## These jobs require secrets that MR pipelines cannot provide
|
||||
## (software license information, upload secrets, etc.).
|
||||
## CMAKE_CI_JOB_PACKAGE_ONLY
|
||||
## Set to "true" if the job handles packaging tasks. These jobs will only
|
||||
## run during packaging pipelines.
|
||||
## CMAKE_CI_JOB_NIGHTLY
|
||||
## Set to "true" if the job should only run for nightly pipelines. Set to
|
||||
## "false" to suppress the job for nightly pipelines.
|
||||
## CMAKE_CI_JOB_NIGHTLY_IGNORE_DEPS
|
||||
## Set to "true" if the job should run even if dependent jobs fail (e.g.,
|
||||
## further testing of the same setup under a different generator. Should
|
||||
## only be used on jobs with `needs` on other jobs.
|
||||
## 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:
|
||||
rules:
|
||||
- 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
|
||||
variables:
|
||||
CMAKE_CI_PIPELINE_NAME: 'Branch "$CI_COMMIT_REF_NAME"'
|
||||
|
||||
.run_dependent:
|
||||
# When to even consider running a pipeline.
|
||||
workflow:
|
||||
name: "$CMAKE_CI_PIPELINE_NAME"
|
||||
rules:
|
||||
- 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" && $CMAKE_CI_NIGHTLY_IGNORE_DEPS == "true")'
|
||||
# Run for merge requests.
|
||||
- if: '$CI_MERGE_REQUEST_ID'
|
||||
when: always
|
||||
- if: '$CMAKE_CI_NIGHTLY == "true"'
|
||||
when: on_success
|
||||
- if: '$CMAKE_CI_JOB_NIGHTLY == "true"'
|
||||
auto_cancel:
|
||||
# Cancel all pipeline jobs if a new commit comes in on the branch/tag.
|
||||
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
|
||||
- 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"'
|
||||
when: on_success
|
||||
# Run for schedules.
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: always
|
||||
auto_cancel:
|
||||
# Never cancel scheduled pipelines because of new commits.
|
||||
on_new_commit: none
|
||||
variables:
|
||||
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
|
||||
|
||||
.run_only_for_package:
|
||||
.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
|
||||
- if: '$CMAKE_CI_PACKAGE == "dev" && $CI_JOB_STAGE == "upload"'
|
||||
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:
|
||||
# Version update pipelines run no other jobs.
|
||||
- if: '$CMAKE_CI_VERSION_UPDATE != null'
|
||||
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:
|
||||
RSYNC_DESTINATION: "kitware@cmake.org:$CMAKE_CI_PACKAGE/"
|
||||
CMAKE_CI_SPHINX_QTHELP: "ON"
|
||||
CMAKE_CI_VERSION_NO_GIT: "ON"
|
||||
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:
|
||||
RSYNC_DESTINATION: "kitware@cmake.org:git-master/"
|
||||
CMAKE_CI_SPHINX_QTHELP: "OFF"
|
||||
CMAKE_CI_VERSION_NO_GIT: "OFF"
|
||||
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:
|
||||
RSYNC_DESTINATION: "kitware@cmake.org:git-stage/"
|
||||
CMAKE_CI_SPHINX_QTHELP: "OFF"
|
||||
CMAKE_CI_VERSION_NO_GIT: "OFF"
|
||||
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:
|
||||
rules:
|
||||
- if: '$CMAKE_CI_VERSION_UPDATE != null'
|
||||
### Packaging pipelines.
|
||||
# Packaging pipelines build development version packages automatically.
|
||||
- if: '$CMAKE_CI_PACKAGE == "dev" && $CMAKE_CI_JOB_PACKAGE_ONLY == "true" && $CI_JOB_STAGE != "upload"'
|
||||
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