blob: 58ba0f4803e3e009e0ceae917f60f9759ce7df5d [file] [log] [blame]
---
# these parameters are used for infra related variables
- parameter:
name: infra-parameters
parameters:
- string:
name: JJB_GIT_REPO
default: https://review.opendev.org/jjb/jenkins-job-builder
description: OpenStack JJB repo
- string:
name: JJB_VERSION
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
- parameter:
name: project-parameters
parameters:
- string:
name: PROJECT
default: '{project}'
description: JJB configured PROJECT parameter to identify a Nordix Gerrit project
- string:
name: BRANCH
default: '{branch}'
description: "JJB configured BRANCH parameter (e.g. master, nordix-dev)"
# these parameters are used for streaming changes from various Gerrit Systems
- parameter:
name: nordix-gerrit-parameters
parameters:
- string:
name: GERRIT_USER
default: infra
description: Non-interactive user to stream Gerrit Events on Nordix Gerrit
- string:
name: GIT_BASE_HTTPS
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
description: HTTPS URL of Project Repo on Nordix Gerrit to clone repo
- parameter:
name: onap-gerrit-parameters
parameters:
- string:
name: GERRIT_USER
default: nordix
description: Non-interactive user to stream Gerrit Events on ONAP Gerrit
- string:
name: GIT_BASE_HTTPS
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
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
properties:
- build-discarder:
days-to-keep: 60
num-to-keep: 200
artifact-days-to-keep: 60
artifact-num-to-keep: 200
# defaults for SCM, Gerrit and GitHub
- scm:
name: git-scm
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: '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'
- 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:
- gerrit:
server-name: 'Nordix Gerrit'
trigger-on:
- patchset-created-event:
exclude-drafts: 'false'
exclude-trivial-rebase: 'false'
exclude-no-code-change: 'false'
- draft-published-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'REG_EXP'
project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
file-paths:
- compare-type: 'ANT'
pattern: '{files}'
skip-vote:
successful: false
failed: false
unstable: false
notbuilt: false
- trigger:
name: nordix-gerrit-trigger-change-merged
triggers:
- gerrit:
server-name: 'Nordix 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}'
- 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
# 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
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-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