mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 10:50:16 -06:00
gitlab-ci: distinguish release and development pipeline schedules
Redefine the `CMAKE_CI_PACKAGE` pipeline schedule variable to indicate whether it is for a development version (`dev`) or a release version (`v[0-9]...`). Use this to automatically turn package upload jobs on or off without having to edit the jobs in `.gitlab-ci.yml` for release branches.
This commit is contained in:
@@ -59,7 +59,7 @@ p:doc-package:
|
||||
- .cmake_doc_artifacts
|
||||
- .run_only_for_package
|
||||
|
||||
.u:source-package:
|
||||
u:source-package:
|
||||
extends:
|
||||
- .rsync_upload_package
|
||||
- .run_only_for_package
|
||||
@@ -67,8 +67,6 @@ p:doc-package:
|
||||
- p:source-package
|
||||
needs:
|
||||
- p:source-package
|
||||
variables:
|
||||
RSYNC_DESTINATION: dev
|
||||
|
||||
# Documentation builds
|
||||
|
||||
@@ -529,7 +527,7 @@ b:linux-x86_64-package:
|
||||
needs:
|
||||
- p:doc-package
|
||||
|
||||
.u:linux-x86_64-package:
|
||||
u:linux-x86_64-package:
|
||||
extends:
|
||||
- .rsync_upload_package
|
||||
- .run_only_for_package
|
||||
@@ -537,8 +535,6 @@ b:linux-x86_64-package:
|
||||
- b:linux-x86_64-package
|
||||
needs:
|
||||
- b:linux-x86_64-package
|
||||
variables:
|
||||
RSYNC_DESTINATION: dev
|
||||
|
||||
b:linux-aarch64-package:
|
||||
extends:
|
||||
@@ -553,7 +549,7 @@ b:linux-aarch64-package:
|
||||
needs:
|
||||
- p:doc-package
|
||||
|
||||
.u:linux-aarch64-package:
|
||||
u:linux-aarch64-package:
|
||||
extends:
|
||||
- .rsync_upload_package
|
||||
- .run_only_for_package
|
||||
@@ -561,8 +557,6 @@ b:linux-aarch64-package:
|
||||
- b:linux-aarch64-package
|
||||
needs:
|
||||
- b:linux-aarch64-package
|
||||
variables:
|
||||
RSYNC_DESTINATION: dev
|
||||
|
||||
## Sanitizer builds
|
||||
|
||||
@@ -694,7 +688,7 @@ b:macos-package:
|
||||
needs:
|
||||
- p:doc-package
|
||||
|
||||
.u:macos-package:
|
||||
u:macos-package:
|
||||
extends:
|
||||
- .rsync_upload_package
|
||||
- .run_only_for_package
|
||||
@@ -702,8 +696,6 @@ b:macos-package:
|
||||
- b:macos-package
|
||||
needs:
|
||||
- b:macos-package
|
||||
variables:
|
||||
RSYNC_DESTINATION: dev
|
||||
|
||||
b:macos10.10-package:
|
||||
extends:
|
||||
@@ -717,7 +709,7 @@ b:macos10.10-package:
|
||||
needs:
|
||||
- p:doc-package
|
||||
|
||||
.u:macos10.10-package:
|
||||
u:macos10.10-package:
|
||||
extends:
|
||||
- .rsync_upload_package
|
||||
- .run_only_for_package
|
||||
@@ -725,8 +717,6 @@ b:macos10.10-package:
|
||||
- b:macos10.10-package
|
||||
needs:
|
||||
- b:macos10.10-package
|
||||
variables:
|
||||
RSYNC_DESTINATION: dev
|
||||
|
||||
# Windows builds
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
.run_manually:
|
||||
rules:
|
||||
- if: '$CMAKE_CI_PACKAGE == "true"'
|
||||
- if: '$CMAKE_CI_PACKAGE != null'
|
||||
when: never
|
||||
- if: '$CMAKE_CI_NIGHTLY == "true"'
|
||||
when: on_success
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
.run_automatically:
|
||||
rules:
|
||||
- if: '$CMAKE_CI_PACKAGE == "true"'
|
||||
- if: '$CMAKE_CI_PACKAGE != null'
|
||||
when: never
|
||||
- if: '$CMAKE_CI_NIGHTLY == "true"'
|
||||
when: on_success
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
.run_dependent:
|
||||
rules:
|
||||
- if: '$CMAKE_CI_PACKAGE == "true"'
|
||||
- if: '$CMAKE_CI_PACKAGE != null'
|
||||
when: never
|
||||
- if: '($CMAKE_CI_NIGHTLY == "true" && $CMAKE_CI_NIGHTLY_IGNORE_DEPS == "true")'
|
||||
when: always
|
||||
@@ -62,7 +62,11 @@
|
||||
|
||||
.run_only_for_package:
|
||||
rules:
|
||||
- if: '$CMAKE_CI_PACKAGE == "true"'
|
||||
- if: '$CMAKE_CI_PACKAGE != null && $CMAKE_CI_JOB_UPLOAD_PACKAGE == null'
|
||||
when: on_success
|
||||
- if: '$CMAKE_CI_PACKAGE == "dev" && $CMAKE_CI_JOB_UPLOAD_PACKAGE == "true"'
|
||||
variables:
|
||||
RSYNC_DESTINATION: "dev"
|
||||
when: on_success
|
||||
- when: never
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
- ssh-keygen -y -f $RSYNC_BINARY_KEY > $RSYNC_BINARY_KEY.pub
|
||||
- rsync -tv --recursive -e "ssh -i $RSYNC_BINARY_KEY -o StrictHostKeyChecking=no -o LogLevel=ERROR" build/ kitware@cmake.org:$RSYNC_DESTINATION/
|
||||
|
||||
variables:
|
||||
CMAKE_CI_JOB_UPLOAD_PACKAGE: "true"
|
||||
|
||||
.rsync_upload_help:
|
||||
stage: upload
|
||||
image: "fedora:34"
|
||||
|
||||
@@ -245,20 +245,6 @@ Commit with a message such as::
|
||||
Release versions do not have the development topic section of
|
||||
the CMake Release Notes index page.
|
||||
|
||||
Update ``.gitlab-ci.yml`` to drop the upload jobs from the
|
||||
packaging pipeline by renaming them to start in ``.``:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
sed -i 's/^u:/.u:/' .gitlab-ci.yml
|
||||
|
||||
Commit with a message such as::
|
||||
|
||||
gitlab-ci: Drop package pipeline upload jobs for release branch
|
||||
|
||||
The package pipeline for release versions should not upload packages
|
||||
automatically to our archive of nightly development versions.
|
||||
|
||||
Update ``Source/CMakeVersion.cmake`` to set the version to
|
||||
``$major.$minor.0-rc0``:
|
||||
|
||||
@@ -290,15 +276,13 @@ Merge the ``release-$ver`` branch to ``master``:
|
||||
git merge --no-ff release-$ver
|
||||
|
||||
Begin post-release development by restoring the development branch release
|
||||
note infrastructure, the nightly package pipeline upload jobs, and
|
||||
the version date from ``origin/master``:
|
||||
note infrastructure, and the version date from ``origin/master``:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
git checkout origin/master -- \
|
||||
Source/CMakeVersion.cmake Help/release/dev/0-sample-topic.rst
|
||||
sed -i $'/^Releases/ i\\\n.. include:: dev.txt\\\n' Help/release/index.rst
|
||||
sed -i 's/^\.u:/u:/' .gitlab-ci.yml
|
||||
|
||||
Update ``Source/CMakeVersion.cmake`` to set the version to
|
||||
``$major.$minor.$date``:
|
||||
|
||||
Reference in New Issue
Block a user