ORANSC: Introduction ORANSC upstream to Nordix
[infra/cicd.git] / jjb / global / jjb-macros.yaml
index cedcea1b5113f4b43f9c68c15e733387a70ab214..58ba0f4803e3e009e0ceae917f60f9759ce7df5d 100644 (file)
@@ -5,11 +5,11 @@
     parameters:
       - string:
           name: JJB_GIT_REPO
-          default: https://git.openstack.org/openstack-infra/jenkins-job-builder
+          default: https://review.opendev.org/jjb/jenkins-job-builder
           description: OpenStack JJB repo
       - string:
           name: JJB_VERSION
-          default: 2.2.1
+          default: 2.9.1
           description: OpenStack JJB version to install - matches to LFN JJB version
 
 # these parameters are used for setting the Gerrit Project on Nordix
           default: ssh://$GERRIT_USER@gerrit.onap.org:29418
           description: SSH URL to Project Repo on ONAP Gerrit to clone repo
 
+- parameter:
+    name: acumos-gerrit-parameters
+    parameters:
+      - string:
+          name: GERRIT_USER
+          default: nordix
+          description: Non-interactive user to stream Gerrit Events on Acumos Gerrit
+      - string:
+          name: GIT_BASE_HTTPS
+          default: https://gerrit.acumos.org/r/p
+          description: HTTPS URL to Project Repo on Acumos Gerrit to clone repo
+      - string:
+          name: GIT_BASE_SSH
+          default: ssh://$GERRIT_USER@gerrit.acumos.org:29418
+          description: SSH URL to Project Repo on Acumos Gerrit to clone repo
+
+- parameter:
+    name: odl-gerrit-parameters
+    parameters:
+      - string:
+          name: GERRIT_USER
+          default: nordix
+          description: Non-interactive user to stream Gerrit Events on ODL Gerrit
+      - string:
+          name: GIT_BASE_HTTPS
+          default: https://git.opendaylight.org/gerrit
+          description: HTTPS URL to Project Repo on OODL Gerrit to clone repo
+      - string:
+          name: GIT_BASE_SSH
+          default: ssh://$GERRIT_USER@git.opendaylight.org:29418
+          description: SSH URL to Project Repo on ODL Gerrit to clone repo
+
+- parameter:
+    name: opendev-gerrit-parameters
+    parameters:
+      - string:
+          name: GERRIT_USER
+          default: nordix
+          description: Non-interactive user to stream Gerrit Events on OpenDev Gerrit
+      - string:
+          name: GIT_BASE_HTTPS
+          default: https://review.opendev.org
+          description: HTTPS URL to Project Repo on OpenDev Gerrit to clone repo
+      - string:
+          name: GIT_BASE_SSH
+          default: ssh://$GERRIT_USER@review.opendev.org:29418
+          description: SSH URL to Project Repo on OpenDev Gerrit to clone repo
+
+- parameter:
+    name: oransc-gerrit-parameters
+    parameters:
+      - string:
+          name: GERRIT_USER
+          default: nordix
+          description: Non-interactive user to stream Gerrit Events on ORAN-SC Gerrit
+      - string:
+          name: GIT_BASE_HTTPS
+          default: https://gerrit.o-ran-sc.org/r
+          description: HTTPS URL to Project Repo on ORAN-SC Gerrit to clone repo
+      - string:
+          name: GIT_BASE_SSH
+          default: ssh://$GERRIT_USER@gerrit.o-ran-sc.org:29418
+          description: SSH URL to Project Repo on ORAN-SC Gerrit to clone repo
+
 # defaults for job build history
 - property:
     name: logrotate-default
           artifact-days-to-keep: 60
           artifact-num-to-keep: 200
 
-# defaults for SCM and Gerrit
+# defaults for SCM, Gerrit and GitHub
 - scm:
     name: git-scm
     scm:
           shallow-clone: false
           use-author: false
           ignore-notify: false
-          wipe-workspace: true
+          wipe-workspace: '{wipe_workspace}'
           prune: false
+          clean:
+            after: false
+            before: '{clean_before}'
           choosing-strategy: 'default'
 
 - scm:
           shallow-clone: false
           use-author: false
           ignore-notify: false
-          wipe-workspace: true
+          wipe-workspace: '{wipe_workspace}'
           prune: false
+          clean:
+            after: false
+            before: '{clean_before}'
           choosing-strategy: 'gerrit'
 
+- scm:
+    name: git-scm-github
+    scm:
+      - git:
+          url: 'https://github.com/$PROJECT.git'
+          branches:
+            - '*/{branch}'
+          refspec: '{refspec}'
+          timeout: 15
+          per-build-tag: false
+          skip-tag: true
+          shallow-clone: false
+          use-author: false
+          ignore-notify: false
+          wipe-workspace: '{wipe_workspace}'
+          prune: false
+          clean:
+            after: false
+            before: '{clean_before}'
+          choosing-strategy: 'default'
+          basedir: '{base_dir}'
+
 # triggers for Nordix Gerrit
 - trigger:
     name: nordix-gerrit-trigger-patchset-created
             - comment-added-contains-event:
                 comment-contains-value: 'reverify'
           projects:
-            - project-compare-type: 'ANT'
+            - project-compare-type: 'REG_EXP'
               project-pattern: '{project}'
               branches:
                 - branch-compare-type: 'ANT'
                 - compare-type: 'ANT'
                   pattern: '{files}'
 
+- trigger:
+    name: nordix-gerrit-patchset-created-or-push-upstream
+    triggers:
+      - gerrit:
+          server-name: 'Nordix Gerrit'
+          trigger-on:
+            - comment-added-contains-event:
+                comment-contains-value: 'push-upstream'
+            - patchset-created-event:
+                exclude-drafts: true
+          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
           silent: true
           silent-start: true
 
+# triggers for Acumos Gerrit
+- trigger:
+    name: acumos-gerrit-trigger-change-merged
+    triggers:
+      - gerrit:
+          server-name: 'Acumos 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
+
+# triggers for ODL Gerrit
+- trigger:
+    name: odl-gerrit-trigger-change-merged
+    triggers:
+      - gerrit:
+          server-name: 'ODL 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
+
+# triggers for OpenDev Gerrit
+- trigger:
+    name: opendev-gerrit-trigger-change-merged
+    triggers:
+      - gerrit:
+          server-name: 'OpenDev 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
+
+# triggers for ORANSC Gerrit
+- trigger:
+    name: oransc-gerrit-trigger-change-merged
+    triggers:
+      - gerrit:
+          server-name: 'ORANSC 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
           timeout: '{timeout}'
           timeout-var: 'BUILD_TIMEOUT'
           fail: true
+
+# wrapper to fix jenkins build workspace permissions
+- wrapper:
+    name: fix-workspace-permissions
+    wrappers:
+      - pre-scm-buildstep:
+          failOnError: true
+          buildsteps:
+            - shell: |
+                #!/bin/bash
+                sudo chown -R $USER:$USER $WORKSPACE || exit 1
+
+- publisher:
+    name: notify-slack
+    publishers:
+      - slack:
+          room: '{slack-channel}'
+          notify-start: '{notify-start}'
+          notify-success: '{notify-success}'
+          notify-failure: '{notify-failure}'
+          notify-back-to-normal: '{notify-back-to-normal}'
+
+# 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