blob: 5c8953ce3ec8a20c37daa1bbab4d768949a87323 [file] [log] [blame]
---
# 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
- parameter:
name: fdio-gerrit-parameters
parameters:
- string:
name: GERRIT_USER
default: nordix
description: Non-interactive user to stream Gerrit Events on Fast Data Project Gerrit
- string:
name: GIT_BASE_HTTPS
default: https://gerrit.fd.io/r
description: HTTPS URL to Project Repo on Fast Data Project Gerrit to clone repo
- string:
name: GIT_BASE_SSH
default: ssh://$GERRIT_USER@gerrit.fd.io:29418
description: SSH URL to Project Repo on Fast Data Project Gerrit to clone repo
# Verify job for Geode git tags to make sure there are in agreed format
- builder:
name: 'verify-geode-tag-macro'
builders:
- shell:
!include-raw: ./verify_geode_tag.sh
- builder:
name: 'wait-pkg-mgr-macro'
builders:
- shell:
!include-raw: ./scripts/wait-for-pkg-manager.sh
# 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
# triggers for Fast Data Project Gerrit
- trigger:
name: fdio-gerrit-trigger-change-merged
triggers:
- gerrit:
server-name: 'FDio 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
# wrappers to use for jobs
- wrapper:
name: nordixinfra-harbor-creds-wrapper
wrappers:
- credentials-binding:
- username-password-separated:
credential-id: nordix-cicd-harbor-credentials
username: HARBOR_USERNAME
password: HARBOR_PASSWORD
# wrappers to use for jobs
- wrapper:
name: nordixinfra-eiffel-github-token
wrappers:
- credentials-binding:
- username-password-separated:
credential-id: nordixinfra-eiffel-username-personal-access-token
username: NORDIXINFRA_GITHUB_USERNAME
password: NORDIXINFRA_GITHUB_TOKEN
# wrappers to use for jobs
- wrapper:
name: nordix-gerrit-http-api-token
wrappers:
- credentials-binding:
- username-password-separated:
credential-id: nordixinfra-nordix-gerrit-http-api-token
username: GERRIT_USER
password: GERRIT_API_KEY
# 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:
# team-domain: 'EST'
# auth-token: ' '
# auth-token-id: ' '
# build-server-url: ' '
# 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
- property:
name: est-ms-teams-rebase-jobs-webhook
properties:
- office-365-connector:
webhooks:
- url: "${EST_MS_TEAMS_NORDIX_REBASE_JOBS_WEBHOOK}"
name: full
start-notification: true
notify-success: true
notify-aborted: true
notify-not-built: true
notify-unstable: true
notify-failure: true
notify-back-to-normal: true
notify-repeated-failure: true