Update RTD Gerrit job to check GERRIT_* variables
[releng/global-jjb.git] / jjb / lf-rtd-jobs.yaml
index 6dc3a99..8e9def9 100644 (file)
 - lf_rtd_common: &lf_rtd_common
     name: lf-rtd-common
     # RTD verify and merge jobs are the same except for their scm, trigger, and
-    # builders definition. This anchor is the common template
-    #
-    # Optional parameters:
-    #     :gerrit_trigger_file_paths: Override file paths which can be used to
-    #         filter which file modifications will trigger a build.
-    #         (default: - compare-type: ANT
-    #                     pattern: '**/*.rst'
-    #                   - compare-type: ANT
-    #                     pattern: '**/conf.py')
+    # builders definition. This anchor is the common template.
 
     ######################
     # Default parameters #
     #
     # Required parameters:
     #
+    #     :build-node: The node to run build on.
+    #     :jenkins-ssh-credential: Credential to use for SSH. (Generally should
+    #         be configured in defaults.yaml)
     #     :rtd-project: This is the name of the project on ReadTheDocs.org.
     #
     # Optional parameters:
     #
     #     :branch: Git branch to fetch for the build. (default: master)
     #     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    #     :build-node: The node to run build on.
     #     :build-timeout: Timeout in seconds before aborting build. (default: 15)
     #     :git-url: base URL of git project. (default: https://github.com)
     #     :project-pattern: Project to trigger build against. (default: **)
     #     :stream: Keyword that can be used to represent a release code-name.
     #         Often the same as the branch. (default: master)
+    #     :submodule-recursive: Whether to checkout submodules recursively.
+    #         (default: true)
+    #
+    #     :gerrit_merge_triggers: Override Gerrit Triggers.
+    #     :gerrit_trigger_file_paths: Override file paths which can be used to
+    #         filter which file modifications will trigger a build.
+    #         (default: - compare-type: ANT
+    #                     pattern: '**/*.rst'
+    #                   - compare-type: ANT
+    #                     pattern: '**/conf.py')
 
     ######################
     # Default parameters #
     stream: master
     submodule-recursive: true
 
+    gerrit_merge_triggers:
+      - change-merged-event
+      - comment-added-contains-event:
+          comment-contains-value: remerge$
+
     #####################
     # Job Configuration #
     #####################
     triggers:
       - gerrit:
           server-name: '{gerrit-server-name}'
-          trigger-on:
-            - change-merged-event
-            - comment-added-contains-event:
-                comment-contains-value: 'remerge$'
+          trigger-on: '{obj:gerrit_merge_triggers}'
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{project-pattern}'
     name: lf-rtd-verify
     # Verify job which runs a tox build of the docs project
     #
-    # Optional parameters:
+    # Required Parameters:
+    #
+    #     :build-node: The node to run build on.
+    #     :jenkins-ssh-credential: Credential to use for SSH. (Generally should
+    #         be configured in defaults.yaml)
+    #
+    # Optional Parameters:
     #
     #     :branch: Git branch to fetch for the build. (default: master)
     #     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
     #         Often the same as the branch. (default: master)
     #     :submodule-recursive: Whether to checkout submodules recursively.
     #         (default: true)
+    #
+    #     :gerrit_verify_triggers: Override Gerrit Triggers.
+    #     :gerrit_trigger_file_paths: Override file paths which can be used to
+    #         filter which file modifications will trigger a build.
+    #         (default: - compare-type: ANT
+    #                     pattern: '**/*.rst'
+    #                   - compare-type: ANT
+    #                     pattern: '**/conf.py')
 
     ######################
     # Default parameters #
     stream: master
     submodule-recursive: true
 
+    gerrit_verify_triggers:
+      - patchset-created-event:
+          exclude-drafts: true
+          exclude-trivial-rebase: false
+          exclude-no-code-change: false
+      - draft-published-event
+      - comment-added-contains-event:
+          comment-contains-value: recheck$
+
     #####################
     # Job Configuration #
     #####################
 
     scm:
       - lf-infra-gerrit-scm:
-          branch: '{branch}'
+          branch: '$GERRIT_BRANCH'
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
           git-url: '{git-url}'
-          refspec: ''
+          refspec: '$GERRIT_REFSPEC'
           submodule-recursive: '{submodule-recursive}'
           choosing-strategy: default
 
     triggers:
       - gerrit:
           server-name: '{gerrit-server-name}'
-          trigger-on:
-            - change-merged-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck$'
+          trigger-on: '{obj:gerrit_verify_triggers}'
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{project-pattern}'