X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-jobs.yaml;h=2adbc8d251e7cf13b65cd66a553f91f09ebd2d1f;hb=46a44f2dcbb44cf1db475ad8f6e5828a2c031b6b;hp=9bc8b5d9f9aa7de46f1e851d7b891909fcd3b031;hpb=47285e6ea5514291769195446b006e1adc2a2efa;p=releng%2Fbuilder.git diff --git a/jjb/releng-jobs.yaml b/jjb/releng-jobs.yaml index 9bc8b5d9f..2adbc8d25 100644 --- a/jjb/releng-jobs.yaml +++ b/jjb/releng-jobs.yaml @@ -1,38 +1,57 @@ - 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 logrotate: - daysToKeep: 30 + daysToKeep: 7 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' @@ -42,12 +61,80 @@ 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: 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: 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: @@ -55,6 +142,7 @@ - job-template: name: 'builder-merge' + node: jjbuilder # builder-merge job to run JJB update # @@ -63,28 +151,34 @@ project-type: freestyle logrotate: - daysToKeep: 30 - numToKeep: 40 + daysToKeep: 7 + numToKeep: 3 artifactDaysToKeep: -1 - artifactNumToKeep: 5 + artifactNumToKeep: -1 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' @@ -94,11 +188,221 @@ file-paths: - compare-type: ANT 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' + disabled: true + 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: 7 + numToKeep: 3 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + 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: 3 + 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: