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
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
+- 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
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:
- - 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
+- 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
triggers:
- 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-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
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-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