Discard old builds
[infra/cicd.git] / jjb / global / jjb-macros.yaml
index c5cd27f8e0e41f75d8179c5d9e7e713f25f1e8b3..9630a91753560a8999cbfd9ddcd0d78d8b9c03b3 100644 (file)
           description: Non-interactive user to stream Gerrit Events on Nordix Gerrit
       - string:
           name: GIT_BASE_HTTPS
-          default: https://gerrit.nordix.org/
+          default: https://gerrit.nordix.org
           description: HTTPS URL of Project Repo on Nordix Gerrit to clone repo
       - string:
           name: GIT_BASE_SSH
-          default: ssh://$GERRIT_USER@gerrit.nordix.org:29418/
+          default: ssh://$GERRIT_USER@gerrit.nordix.org:29418
           description: HTTPS URL of Project Repo on Nordix Gerrit to clone repo
 
 - parameter:
           description: Non-interactive user to stream Gerrit Events on ONAP Gerrit
       - string:
           name: GIT_BASE_HTTPS
-          default: https://gerrit.onap.org/r/p/
+          default: https://gerrit.onap.org/r/p
           description: HTTPS URL to Project Repo on ONAP Gerrit to clone repo
       - string:
           name: GIT_BASE_SSH
-          default: ssh://$GERRIT_USER@gerrit.onap.org:29418/
+          default: ssh://$GERRIT_USER@gerrit.onap.org:29418
           description: SSH URL to Project Repo on ONAP Gerrit to clone repo
 
 # defaults for job build history
@@ -73,7 +73,8 @@
     name: git-scm
     scm:
       - git:
-          url: '$GIT_BASE_HTTPS/$PROJECT'
+          url: '$GIT_BASE_SSH/$PROJECT'
+          credentials-id: '{ssh-credentials-id}'
           branches:
             - 'refs/heads/{branch}'
           refspec: '{refspec}'
@@ -91,7 +92,8 @@
     name: git-scm-gerrit
     scm:
       - git:
-          url: '$GIT_BASE_HTTPS/$PROJECT'
+          url: '$GIT_BASE_SSH/$PROJECT'
+          credentials-id: '{ssh-credentials-id}'
           branches:
             - 'refs/heads/{branch}'
           refspec: '{refspec}'
           prune: false
           choosing-strategy: 'gerrit'
 
-# triggers for Nordix and upstream Gerrits
+# triggers for Nordix Gerrit
 - trigger:
     name: nordix-gerrit-trigger-patchset-created
     triggers:
                 - compare-type: 'ANT'
                   pattern: '{files}'
 
+- trigger:
+    name: nordix-gerrit-push-upstream
+    triggers:
+      - gerrit:
+          server-name: 'Nordix Gerrit'
+          trigger-on:
+            - comment-added-contains-event:
+                comment-contains-value: 'push-upstream'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              file-paths:
+                - compare-type: 'ANT'
+                  pattern: '{files}'
+
+# triggers for ONAP Gerrit
+- trigger:
+    name: onap-gerrit-trigger-change-merged
+    triggers:
+      - gerrit:
+          server-name: 'ONAP Gerrit'
+          trigger-on:
+            - change-merged-event
+            - comment-added-contains-event:
+                comment-contains-value: 'remerge'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              file-paths:
+                - compare-type: 'ANT'
+                  pattern: '{files}'
+          silent: true
+          silent-start: true
+
 # wrappers to use for jobs
 - wrapper:
     name: nordixinfra-jjb-creds-wrapper
               credential-id: nordixinfra-jjb-creds
               username: JJB_USERNAME
               password: JJB_USERTOKEN
+
+# timeout wrapper to use for jobs
+- wrapper:
+    name: build-timeout
+    wrappers:
+      - timeout:
+          timeout: '{timeout}'
+          timeout-var: 'BUILD_TIMEOUT'
+          fail: true
+
+- publisher:
+    name: notify-slack
+    publishers:
+      - slack:
+          room: '{slack-channel}'
+          notify-failure: True
+          notify-back-to-normal: True
+
+# property to discard old builds
+- property:
+    name: logrotate
+    properties:
+      - build-discarder:
+          days-to-keep: 30
+          num-to-keep: 100
+          artifact-days-to-keep: 30
+          artifact-num-to-keep: 100