Add systemmetrics jobs to Jenkins
[releng/builder.git] / jjb / releng-macros.yaml
index c9b7a8f6e1878dc755d8ca222f27f93ff27260d3..eab86572f7b63d9e5cde20994ef81e1fdcdccdd7 100644 (file)
@@ -1,5 +1,11 @@
 # OLD Releng macros
 
+- property:
+    name: opendaylight-infra-properties
+    properties:
+        - build-discarder:
+            days-to-keep: '{build-days-to-keep}'
+
 - parameter:
     name: opendaylight-infra-parameters
     parameters:
             timeout: 360
             fail: true
 
-# Used only by opflex-verify-{stream} and {project-name}-verify-{stream}-{maven}-{jdks}
+# This is a single macro to use for all jobs who vote on every (relevant) patch set.
+# Only 'recheck' trigger word is supported, it always triggers the full set of relevant jobs,
+# in order to prevent Jenkins from starting only a subset and still voting Verified+1.
+# Arguments:
+#     server: name of gerrit server to listen to
+#     project: pattern to match triggering projects
+#     branch: triggering branch name
+#     files: pattern to match triggering filepaths
 - trigger:
     name: gerrit-trigger-patch-submitted
     triggers:
         - gerrit:
-            server-name: '{server-name}'
+            server-name: '{server}'
             trigger-on:
                 - patchset-created-event:
                     exclude-drafts: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
-                - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
             projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{name}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-
+                - project-compare-type: 'ANT'
+                  project-pattern: '{project}'
+                  branches:
+                      - branch-compare-type: 'ANT'
+                        branch-pattern: '**/{branch}'
+                  file-paths:
+                      - compare-type: 'ANT'
+                        pattern: '{files}'
+
+# TODO: Unify argument names across gerrit-trigger-* macros.
 - trigger:
     name: gerrit-trigger-patch-merged
     triggers:
                 - comment-added-contains-event:
                     comment-contains-value: 'remerge'
             projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{name}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
+                - project-compare-type: 'ANT'
+                  project-pattern: '{name}'
+                  branches:
+                      - branch-compare-type: 'ANT'
+                        branch-pattern: '**/{branch}'
             skip-vote:
                 successful: true
                 failed: true
             gerrit-build-unstable-codereview-value: 0
             gerrit-build-notbuilt-codereview-value: 0
 
+# TODO: Unify argument names across gerrit-trigger-* macros.
 - trigger:
     name: gerrit-trigger-patch-sonar
     triggers:
                         packer.io build -var-file=$CLOUDENV \
                          -var-file=../packer/vars/{platform}.json \
                          ../packer/templates/{template}.json
+
+- builder:
+    # TODO: Verify signature after downloading users public key from a locally created
+    # repository instead of the public keymesh. This requires a process in place to get ODL
+    # developers public keys into a local repository without increasing the job thoughput.
+    name: verify-gpg-signature
+    builders:
+        - shell: !include-raw: include-raw-verify-gpg-signatures.sh