X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-templates.yaml;h=bd9be9725c8addc1a38f0cc0482a3b6c5877861d;hb=e7e51d12495627d67e78755f18b191bac42a7b7f;hp=81a8d98bf02dad0cbb0e103c8f0d459fee7e4638;hpb=3b3b8a98257fb17cf45881508e5f62054a92a96d;p=releng%2Fbuilder.git diff --git a/jjb/releng-templates.yaml b/jjb/releng-templates.yaml index 81a8d98bf..bd9be9725 100644 --- a/jjb/releng-templates.yaml +++ b/jjb/releng-templates.yaml @@ -1,26 +1,30 @@ - job-template: - name: '{name}-release-java' + name: '{project-name}-release-java' # Job template for producing a release candidate by creating a staging repo # in Nexus. - project-type: maven - node: dynamic_merge + project-type: freestyle + node: '{build-node}' jdk: '{jdk}' - logrotate: - daysToKeep: '30' + properties: + - opendaylight-infra-properties: + build-days-to-keep: 30 parameters: - - project-parameter: + - opendaylight-infra-parameters: project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' - build-tag - stage-id-parameter: stage-id: '{stage-id}' scm: - git: - credentials-id: '{ssh-credentials}' + credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' branches: - '$BUILD_TAG' @@ -29,117 +33,113 @@ wipe-workspace: true wrappers: - - build-timeout - - ssh-agent-credentials: - users: - - '{ssh-credentials}' - - openstack: - single-use: true - - prebuilders: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + builders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: 'odl-global-settings' settings-file: 'autorelease-settings' - - maven: - maven-name: '{mvn33}' - root-pom: 'pom.xml' - goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage' - maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' - settings: 'autorelease-settings' - global-settings: 'odl-global-settings' - post-step-run-condition: UNSTABLE - - postbuilders: + - maven-target: + maven-version: 'mvn33' + pom: 'pom.xml' + goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage' + java-opts: + - '-Xmx1024m -XX:MaxPermSize=256m' + settings: 'autorelease-settings' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp - releng-stage-release publishers: - - archive-artifacts: - artifacts: '*.log' - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[releng]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: - name: '{name}-publish-p2repo' + name: '{project-name}-publish-p2repo' # Job template for publishing a p2 repo given a URL to a zipped p2repo. - project-type: maven - node: dynamic_merge + project-type: freestyle + node: '{build-node}' jdk: '{jdk}' parameters: - - project-parameter: + - opendaylight-infra-parameters: project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' - p2zip-parameter - prebuilders: + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + builders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - releng-fetch-p2zip-if-necessary: - maven-version: '{mvn33}' - settings: '{project-settings}' + maven-version: 'mvn33' + settings: '{mvn-settings}' global-settings: 'odl-global-settings' - releng-generate-p2pom - - maven: - maven-name: '{mvn33}' - root-pom: 'pom.xml' - goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r' - settings: '{project-settings}' - global-settings: 'odl-global-settings' - post-step-run-condition: UNSTABLE - - postbuilders: + - maven-target: + maven-version: 'mvn33' + pom: 'pom.xml' + goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp - releng-update-p2composite-metadata: - maven-version: '{mvn33}' - settings: '{project-settings}' + maven-version: 'mvn33' + settings: '{mvn-settings}' global-settings: 'odl-global-settings' publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[releng]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' -# Python Related +# Generic tox-based verify action -- job-template: - name: '{name}-verify-python-{stream}' +- tox_builder_verify: &tox_builder_verify + name: tox_builder_verify - # Job template for python verify jobs - # - # The purpose of this job template is to run tox for projects using this - # template. - # # Required Variables: - # stream: release stream (eg. stable-lithium or beryllium) - # branch: git branch (eg. stable/lithium or master) + # stream: release stream (eg. boron or carbon) + # branch: git branch (eg. stable/boron or master) # toxdir: directory containing the project's tox.ini relative to - # the workspace. + # the workspace. Empty works if tox.ini is at project root. project-type: freestyle - node: dynamic_verify + node: '{build-node}' concurrent: true - logrotate: - daysToKeep: '7' - numToKeep: '-1' - artifactDaysToKeep: '-1' - artifactNumToKeep: '-1' + properties: + - opendaylight-infra-properties: + build-days-to-keep: 7 parameters: - - project-parameter: - project: '{project}' - - gerrit-parameters: + - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' scm: - git: - credentials-id: '{ssh-credentials}' + credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' basedir: 'repo' refspec: '$GERRIT_REFSPEC' @@ -149,35 +149,15 @@ choosing-strategy: 'gerrit' wrappers: - - build-timeout - - ssh-agent-credentials: - users: - - '{ssh-credentials}' - - openstack: - single-use: true + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - - gerrit: - server-name: 'OpenDaylight' - trigger-on: - - patchset-created-event: - exclude-drafts: 'true' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'true' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '{toxdir}/**' + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: '{toxdir}/**' builders: - shell: | @@ -191,34 +171,67 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project}]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' + +- job-template: + name: '{project-name}-verify-tox-{stream}' + + # Job template for verify jobs executing tox envlist + # + # The purpose of this job template is to run tox for projects using this + # template. + # + # Required Variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + # toxdir: directory containing the project's tox.ini relative to + # the workspace. Empty works if tox.ini is at project root. + + <<: *tox_builder_verify + +# Python (pep8) specific, project should migrate to {project-name}-verify-tox-{stream} + +- job-template: + name: '{project-name}-verify-python-{stream}' + + # Job template for python verify jobs + # + # The purpose of this job template is to run tox for projects using this + # template. + # + # Required Variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + # toxdir: directory containing the project's tox.ini relative to + # the workspace. Empty works if tox.ini is at project root. + + <<: *tox_builder_verify - job-template: - name: '{name}-merge-rtd-{stream}' + name: '{project-name}-merge-rtd-{stream}' # Template for ReadTheDocs triggering project-type: freestyle - node: dynamic_verify + node: '{build-node}' concurrent: false parameters: - - project-parameter: - project: '{project}' - - gerrit-parameters: + - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' wrappers: - - build-timeout - - ssh-agent-credentials: - users: - - '{ssh-credentials}' - - openstack: - single-use: true + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - gerrit-trigger-patch-merged: + server-name: '{server-name}' name: '{project}' branch: '{branch}' @@ -228,12 +241,15 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project}]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' # Node related - job-template: - name: '{name}-verify-node-{stream}' + name: '{project-name}-verify-node-{stream}' # Job template for python verify jobs # @@ -242,32 +258,29 @@ # virtualenv for nodejs. # # Required Variables: - # stream: release stream (eg. stable-lithium or beryllium) - # branch: git branch (eg. stable/lithium or master) + # stream: release stream (eg. boron or carbon) + # branch: git branch (eg. stable/boron or master) # nodedir: directory of nodejs project to run node test against # nodever: version of node to install in virtualenv project-type: freestyle - node: dynamic_verify + node: '{build-node}' concurrent: true - logrotate: - daysToKeep: '7' - numToKeep: '-1' - artifactDaysToKeep: '-1' - artifactNumToKeep: '-1' + properties: + - opendaylight-infra-properties: + build-days-to-keep: 7 parameters: - - project-parameter: - project: '{project}' - - gerrit-parameters: + - opendaylight-infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' scm: - git: - credentials-id: '{ssh-credentials}' + credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' basedir: 'repo' refspec: '$GERRIT_REFSPEC' @@ -277,35 +290,15 @@ choosing-strategy: 'gerrit' wrappers: - - build-timeout - - ssh-agent-credentials: - users: - - '{ssh-credentials}' - - openstack: - single-use: true + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - - gerrit: - server-name: 'OpenDaylight' - trigger-on: - - patchset-created-event: - exclude-drafts: 'true' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'true' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '{nodedir}/**' + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: '{nodedir}/**' builders: - shell: | @@ -326,4 +319,7 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project}]' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33'