- project:
name: builder-jobs
jobs:
- - 'builder-verify'
+ - 'builder-verify-jjb'
+ - 'builder-verify-python'
- 'builder-merge'
+ - 'builder-weekly'
+ - 'builder-check-poms'
+
+ # Maven Sites
+ - 'builder-site-publish'
+ - 'builder-site-verify'
+
+ project: 'releng/builder'
- job-template:
- name: builder-verify
+ name: builder-verify-jjb
+ node: jjbuilder
project-type: freestyle
daysToKeep: 30
numToKeep: 10
artifactDaysToKeep: -1
- artifactNumToKeep: -1
+ artifactNumToKeep: 5
parameters:
+ - project-parameter:
+ project: '{project}'
- gerrit-parameter:
branch: 'master'
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
- scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/releng/builder'
refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
wrappers:
- ssh-agent-credentials:
- user: '{ssh-credentials}'
+ users:
+ - '{ssh-credentials}'
triggers:
- gerrit:
- trigger-on-patchset-uploaded-event: true
- trigger-on-draft-published-event: true
+ 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'
projects:
- project-compare-type: 'ANT'
project-pattern: 'releng/builder'
file-paths:
- compare-type: ANT
pattern: jjb/**
+ - compare-type: ANT
+ pattern: jjb-templates/**
+
+ builders:
+ - shell: |
+ pip freeze
+ python scripts/jjb-autoupdate-project.py
+ jenkins-jobs test --recursive -o job_output jjb/
+ - releng-check-unicode
+
+ publishers:
+ - archive-artifacts:
+ artifacts: 'job_output/*'
+ - email-notification:
+ email-prefix: '[releng]'
+
+- job-template:
+ name: builder-verify-python
+ node: dynamic_verify
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng/builder'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: scripts/**
builders:
- shell: |
- source /opt/virtualenv/jenkins-job-builder/bin/activate
- jenkins-jobs test jjb/
+ virtualenv $WORKSPACE/venv
+ source $WORKSPACE/venv/bin/activate
+ pip install --upgrade pip
+ pip freeze
+ pip install flake8
+ flake8 scripts/
publishers:
- email-notification:
- job-template:
name: 'builder-merge'
+ node: jjbuilder
# builder-merge job to run JJB update
#
artifactNumToKeep: 5
parameters:
+ - project-parameter:
+ project: '{project}'
- gerrit-parameter:
branch: 'master'
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
- scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/releng/builder'
- refspec:
+ refspec: ''
+ choosing-strategy: 'default'
wrappers:
- ssh-agent-credentials:
- user: '{ssh-credentials}'
+ users:
+ - '{ssh-credentials}'
triggers:
- gerrit:
- trigger-on-change-merged-event: true
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
projects:
- project-compare-type: 'ANT'
project-pattern: 'releng/builder'
branch-pattern: '**/master'
file-paths:
- compare-type: ANT
- pattern: jjb/**'
+ pattern: jjb/**
+ - compare-type: ANT
+ pattern: jjb-templates/**
+
+ builders:
+ - shell:
+ !include-raw-escape:
+ - include-raw-jjb-update.sh
+
+ publishers:
+ - email-notification:
+ email-prefix: '[releng]'
+
+- job-template:
+ name: 'builder-weekly'
+ node: jjbuilder
+
+ # builder-weekly job to run JJB update weekly
+ #
+ # This job's purpose is to update all the JJB on a weekly (Sunday)
+ # basis with --flush-cache enabled to ensure jobs are okay
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 40
+ artifactDaysToKeep: -1
+ artifactNumToKeep: 5
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: 'H H * * 0'
builders:
- shell: |
- source /opt/virtualenv/jenkins-job-builder/bin/activate
- jenkins-jobs update jjb/
+ jenkins-jobs --flush-cache update --recursive jjb/
+
+ publishers:
+ - email-notification:
+ email-prefix: '[releng]'
+
+- job-template:
+ name: builder-check-poms
+ node: dynamic_verify
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 1
+ numToKeep: 1
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: 'H H * * 1'
+
+ builders:
+ - shell:
+ !include-raw-escape:
+ - include-raw-check-poms.sh
+
+ publishers:
+ - email-notification:
+ email-prefix: '[releng]'
+
+
+###
+### Maven Sites
+###
+
+- job-template:
+ name: 'builder-site-publish'
+ node: dynamic_merge
+ concurrent: false
+ jdk: 'openjdk8'
+
+ # This job's purpose is to publish maven site
+
+ project-type: maven
+
+ logrotate:
+ daysToKeep: 7
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ server-name: 'OpenDaylight'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'republish'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng/builder'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: src/**
+ - compare-type: ANT
+ pattern: pom.xml
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'site:site site:deploy -Dstream=master'
+ maven-opts: '-Xmx1024m'
+ settings: '{releng-builder-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - email-notification:
+ email-prefix: '[releng]'
+
+- job-template:
+ name: 'builder-site-verify'
+ node: dynamic_verify
+ concurrent: true
+ jdk: 'openjdk8'
+
+ # This job's purpose is to verify maven site configuration
+
+ project-type: maven
+
+ logrotate:
+ daysToKeep: 7
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng/builder'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: src/**
+ - compare-type: ANT
+ pattern: pom.xml
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'site:site -Dstream=master'
+ maven-opts: '-Xmx1024m'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
publishers:
- email-notification: