Browse Source

Merge topic 'ci-cmake.org-help'

a5a4b0b6ab gitlab-ci: add jobs to upload cmake.org/cmake/help/git-{master,stage} docs
354ae6fe2e gitlab-ci: add jobs to build cmake.org/cmake/help/git-{master,stage} docs
eb7cbb577e gitlab-ci: clarify name of rsync upload block for binaries

Acked-by: Kitware Robot <[email protected]>
Acked-by: Ben Boeckel <[email protected]>
Merge-request: !6103
Brad King 4 years ago
parent
commit
e417d46046
5 changed files with 93 additions and 6 deletions
  1. 39 5
      .gitlab-ci.yml
  2. 9 0
      .gitlab/artifacts.yml
  3. 15 0
      .gitlab/os-linux.yml
  4. 12 0
      .gitlab/rules.yml
  5. 18 1
      .gitlab/upload.yml

+ 39 - 5
.gitlab-ci.yml

@@ -54,7 +54,7 @@ prep:doc-package:
 
 upload:source-package:
     extends:
-        - .rsync_upload
+        - .rsync_upload_binary
         - .run_only_for_package
     dependencies:
         - prep:source-package
@@ -63,6 +63,40 @@ upload:source-package:
     variables:
         RSYNC_DESTINATION: dev
 
+# Documentation builds
+
+build:help:master:
+    extends:
+        - .cmake_org_help
+        - .run_only_for_continuous_master
+
+upload:help:master:
+    extends:
+        - .rsync_upload_help
+        - .run_only_for_continuous_master
+    variables:
+        RSYNC_DESTINATION: git-master
+    dependencies:
+        - build:help:master
+    needs:
+        - build:help:master
+
+build:help:stage:
+    extends:
+        - .cmake_org_help
+        - .run_only_for_continuous_stage
+
+upload:help:stage:
+    extends:
+        - .rsync_upload_help
+        - .run_only_for_continuous_stage
+    variables:
+        RSYNC_DESTINATION: git-stage
+    dependencies:
+        - build:help:stage
+    needs:
+        - build:help:stage
+
 # Lint builds
 
 build:debian10-iwyu:
@@ -406,7 +440,7 @@ build:linux-x86_64-package:
 
 upload:linux-x86_64-package:
     extends:
-        - .rsync_upload
+        - .rsync_upload_binary
         - .run_only_for_package
     dependencies:
         - build:linux-x86_64-package
@@ -430,7 +464,7 @@ build:linux-aarch64-package:
 
 upload:linux-aarch64-package:
     extends:
-        - .rsync_upload
+        - .rsync_upload_binary
         - .run_only_for_package
     dependencies:
         - build:linux-aarch64-package
@@ -542,7 +576,7 @@ build:macos-package:
 
 upload:macos-package:
     extends:
-        - .rsync_upload
+        - .rsync_upload_binary
         - .run_only_for_package
     dependencies:
         - build:macos-package
@@ -565,7 +599,7 @@ build:macos10.10-package:
 
 upload:macos10.10-package:
     extends:
-        - .rsync_upload
+        - .rsync_upload_binary
         - .run_only_for_package
     dependencies:
         - build:macos10.10-package

+ 9 - 0
.gitlab/artifacts.yml

@@ -97,3 +97,12 @@
         paths:
             # Take the install tree.
             - build/install-doc/
+
+.cmake_org_help_artifacts:
+    artifacts:
+        expire_in: 1d
+        paths:
+            - build/html
+        exclude:
+            - build/html/.buildinfo
+            - build/html/objects.inv

+ 15 - 0
.gitlab/os-linux.yml

@@ -368,3 +368,18 @@
         - .needs_centos6_x86_64
     variables:
         CMAKE_CI_JOB_NIGHTLY: "true"
+
+### Documentation
+
+.cmake_org_help:
+    stage: build
+    extends:
+        - .fedora33
+        - .linux_builder_tags
+        - .cmake_org_help_artifacts
+    script:
+        - *before_script_linux
+        - mkdir -p build/
+        - cd build/
+        - cmake ../Utilities/Sphinx -GNinja -DSPHINX_HTML=ON -DSPHINX_FLAGS="-A versionswitch=1"
+        - ninja

+ 12 - 0
.gitlab/rules.yml

@@ -62,3 +62,15 @@
         - if: '$CMAKE_CI_PACKAGE == "true"'
           when: on_success
         - when: never
+
+.run_only_for_continuous_master:
+    rules:
+        - if: '$CMAKE_CI_PROJECT_MAIN_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_MAIN_BRANCH == $CI_COMMIT_BRANCH'
+          when: on_success
+        - when: never
+
+.run_only_for_continuous_stage:
+    rules:
+        - if: '$CMAKE_CI_PROJECT_CONTINUOUS_BRANCH != null && $CI_COMMIT_BRANCH != null && $CMAKE_CI_PROJECT_CONTINUOUS_BRANCH == $CI_COMMIT_BRANCH'
+          when: on_success
+        - when: never

+ 18 - 1
.gitlab/upload.yml

@@ -1,6 +1,6 @@
 # Steps for uploading artifacts
 
-.rsync_upload:
+.rsync_upload_binary:
     image: "fedora:32"
     stage: upload
     tags:
@@ -16,3 +16,20 @@
         - chmod 400 $RSYNC_BINARY_KEY
         - 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/ [email protected]:$RSYNC_DESTINATION/
+
+.rsync_upload_help:
+    stage: upload
+    image: "fedora:33"
+    tags:
+        - docker
+        - linux
+        - build
+    environment:
+        name: rsync-upload
+
+    script:
+        - ls build/html/index.html
+        - dnf install -y --setopt=install_weak_deps=False rsync openssh-clients
+        - chmod 400 $RSYNC_HELP_KEY
+        - ssh-keygen -y -f $RSYNC_HELP_KEY > $RSYNC_HELP_KEY.pub
+        - rsync -tv --recursive --delete -e "ssh -i $RSYNC_HELP_KEY -o StrictHostKeyChecking=no -o LogLevel=ERROR" build/html/ [email protected]:$RSYNC_DESTINATION/