X-Git-Url: https://gerrit.nordix.org/gitweb?a=blobdiff_plain;f=jjb%2Fglobal%2Fjjb-macros.yaml;h=534e61c8d085c0be70e7a05fd2e65bd05e7d50c1;hb=refs%2Fchanges%2F27%2F1627%2F1;hp=ad2c0b6a58df13e8193e8a64448536193426f781;hpb=afb15a70657a486884a30558631e68d276736e63;p=infra%2Fcicd.git diff --git a/jjb/global/jjb-macros.yaml b/jjb/global/jjb-macros.yaml index ad2c0b6a..534e61c8 100644 --- a/jjb/global/jjb-macros.yaml +++ b/jjb/global/jjb-macros.yaml @@ -9,7 +9,7 @@ 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 @@ -35,11 +35,11 @@ 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: @@ -51,13 +51,61 @@ 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 +- 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 + # defaults for job build history - property: name: logrotate-default @@ -72,28 +120,48 @@ - scm: name: git-scm scm: - - git: &git-scm-defaults - url: '$GIT_BASE_HTTPS/$PROJECT' + - git: + url: '$GIT_BASE_SSH/$PROJECT' + credentials-id: '{ssh-credentials-id}' branches: - - 'origin/$BRANCH' + - 'refs/heads/{branch}' + refspec: '{refspec}' timeout: 15 per-build-tag: false skip-tag: true 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: name: git-scm-gerrit scm: - git: + url: '$GIT_BASE_SSH/$PROJECT' + credentials-id: '{ssh-credentials-id}' + branches: + - 'refs/heads/{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: 'gerrit' - refspec: '$GERRIT_REFSPEC' - <<: *git-scm-defaults -# triggers for Nordix and upstream Gerrits +# triggers for Nordix Gerrit - trigger: name: nordix-gerrit-trigger-patchset-created triggers: @@ -110,7 +178,7 @@ - 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' @@ -142,3 +210,177 @@ file-paths: - 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}' + +- 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 + 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 + +# 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 + +# wrappers to use for jobs +- wrapper: + name: nordixinfra-jjb-creds-wrapper + wrappers: + - credentials-binding: + - username-password-separated: + 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 + +# 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-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