summaryrefslogtreecommitdiff
path: root/.gitlab
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2020-09-15 09:32:01 -0400
committerBen Boeckel <ben.boeckel@kitware.com>2020-09-16 13:35:53 -0400
commit7d4ec05c6f5b4d7f2b27ded68003eab2d0126199 (patch)
tree39cea602c491d29619e1dc6df305cbbb9a49c87e /.gitlab
parentf0aaf24f0801ee5ff6107681f2740a892fa90aa1 (diff)
downloadcmake-7d4ec05c6f5b4d7f2b27ded68003eab2d0126199.tar.gz
gitlab-ci: add a job to make a doc "bundle"
This can be added to any other platform's package by reusing the artifact.
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/artifacts.yml7
-rw-r--r--.gitlab/ci/configure_fedora31_sphinx.cmake8
-rw-r--r--.gitlab/ci/configure_fedora31_sphinx_package.cmake13
-rw-r--r--.gitlab/ci/configure_sphinx.cmake6
-rw-r--r--.gitlab/os-linux.yml7
-rw-r--r--.gitlab/rules.yml6
6 files changed, 40 insertions, 7 deletions
diff --git a/.gitlab/artifacts.yml b/.gitlab/artifacts.yml
index be10e2447c..fb33ca7e59 100644
--- a/.gitlab/artifacts.yml
+++ b/.gitlab/artifacts.yml
@@ -79,3 +79,10 @@
paths:
# Take the install tree.
- build/install/
+
+.cmake_doc_artifacts:
+ artifacts:
+ expire_in: 1d
+ paths:
+ # Take the install tree.
+ - build/install-doc/
diff --git a/.gitlab/ci/configure_fedora31_sphinx.cmake b/.gitlab/ci/configure_fedora31_sphinx.cmake
index dfc9b8cf49..90d159b739 100644
--- a/.gitlab/ci/configure_fedora31_sphinx.cmake
+++ b/.gitlab/ci/configure_fedora31_sphinx.cmake
@@ -1,8 +1,2 @@
-set(SPHINX_INFO ON CACHE BOOL "")
-set(SPHINX_MAN ON CACHE BOOL "")
-set(SPHINX_HTML ON CACHE BOOL "")
-set(SPHINX_SINGLEHTML ON CACHE BOOL "")
-set(SPHINX_QTHELP ON CACHE BOOL "")
-set(SPHINX_TEXT ON CACHE BOOL "")
-
+include("${CMAKE_CURRENT_LIST_DIR}/configure_sphinx.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")
diff --git a/.gitlab/ci/configure_fedora31_sphinx_package.cmake b/.gitlab/ci/configure_fedora31_sphinx_package.cmake
new file mode 100644
index 0000000000..e839de80c2
--- /dev/null
+++ b/.gitlab/ci/configure_fedora31_sphinx_package.cmake
@@ -0,0 +1,13 @@
+# Disable formats not wanted in the package's documentation.
+set(SPHINX_INFO OFF CACHE BOOL "")
+set(SPHINX_SINGLEHTML OFF CACHE BOOL "")
+set(SPHINX_TEXT OFF CACHE BOOL "")
+
+# Set the destination directory for docs that packages expect.
+set(CMAKE_DOC_DIR "doc/cmake" CACHE STRING "")
+
+# Use a custom prefix to avoid conflicting with other builds.
+set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install-doc" CACHE PATH "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_sphinx.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")
diff --git a/.gitlab/ci/configure_sphinx.cmake b/.gitlab/ci/configure_sphinx.cmake
new file mode 100644
index 0000000000..3750309ae2
--- /dev/null
+++ b/.gitlab/ci/configure_sphinx.cmake
@@ -0,0 +1,6 @@
+set(SPHINX_INFO ON CACHE BOOL "")
+set(SPHINX_MAN ON CACHE BOOL "")
+set(SPHINX_HTML ON CACHE BOOL "")
+set(SPHINX_SINGLEHTML ON CACHE BOOL "")
+set(SPHINX_QTHELP ON CACHE BOOL "")
+set(SPHINX_TEXT ON CACHE BOOL "")
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml
index dfd94f5b0a..1ec54133f6 100644
--- a/.gitlab/os-linux.yml
+++ b/.gitlab/os-linux.yml
@@ -54,6 +54,13 @@
CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
CMake_SKIP_INSTALL: 1
+.fedora31_sphinx_package:
+ extends: .fedora31
+
+ variables:
+ CMAKE_CONFIGURATION: fedora31_sphinx_package
+ CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
+
#### Build and test
.fedora31_ninja:
diff --git a/.gitlab/rules.yml b/.gitlab/rules.yml
index 3bb8ae4eba..2bc44966ff 100644
--- a/.gitlab/rules.yml
+++ b/.gitlab/rules.yml
@@ -16,3 +16,9 @@
- if: '$CI_PROJECT_PATH == "cmake/cmake"'
when: on_success
- when: never
+
+.run_only_for_package:
+ rules:
+ - if: '$CMAKE_PACKAGE == "true"'
+ when: on_success
+ - when: never