X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-templates-java.yaml;h=a218d511894e69fa311f8c2ce5e45f7080406159;hb=a44c8b79ef888e24e0d0499f8005e07a60561244;hp=de023cbd72de50881230f4594273cfd75220d09f;hpb=019e5a570f080eb21016ee74cda15a03b8107745;p=releng%2Fbuilder.git diff --git a/jjb/releng-templates-java.yaml b/jjb/releng-templates-java.yaml index de023cbd7..a218d5118 100644 --- a/jjb/releng-templates-java.yaml +++ b/jjb/releng-templates-java.yaml @@ -6,10 +6,10 @@ # {mvn-settings} - Project maven settings file # {stream} # {jdk} - name: '{name}-clm-{stream}' + name: '{project-name}-clm-{stream}' project-type: maven - node: dynamic_verify + node: '{build-node}' jdk: '{jdk}' logrotate: @@ -43,7 +43,7 @@ maven: maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -V -B -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + goals: 'clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index -V -B -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' maven-opts: '-Xmx4096m -XX:MaxPermSize=512m' settings: '{mvn-settings}' settings-type: cfp @@ -53,23 +53,23 @@ postbuilders: - shell: 'find . -regex ".*karaf/target" | xargs rm -rf' - check-clm: - application-name: '{name}' + application-name: '{project-name}' publishers: - email-notification: - email-prefix: '[{name}]' + email-prefix: '[{project-name}]' - archive-build: maven-version: '{mvn33}' - job-template: - name: '{name}-distribution-{stream}' + name: '{project-name}-distribution-{stream}' # Required variables: # stream: release stream (eg. stable-lithium or beryllium) # branch: git branch (eg. stable/lithium or master) project-type: maven - node: dynamic_merge + node: '{build-node}' jdk: '{jdk}' logrotate: @@ -80,10 +80,10 @@ parameters: - opendaylight-infra-parameters: - project: '{project}' + project: 'integration/distribution' branch: '{branch}' refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' + artifacts: '{archive-artifacts} **/dependency_tree.txt' scm: - git-scm: @@ -107,7 +107,7 @@ maven: maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' settings: 'integration-distribution-settings' settings-type: cfp @@ -125,16 +125,16 @@ maven-version: '{mvn33}' - job-template: - # Template: integration-patch-distribution-{stream} + # Template: {name}-distribution-check-{stream} # Goal: Build a patch and make sure the distribution can deploy with this change # Operation: This job template builds a patch, creates a distribution containing # the patch, and triggers the distribution deploy test - name: '{name}-distribution-check-{stream}' + name: '{project-name}-distribution-check-{stream}' disabled: '{obj:disable_distribution_check}' project-type: maven - node: dynamic_verify + node: '{build-node}' concurrent: true jdk: '{jdk}' @@ -149,7 +149,7 @@ project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' + artifacts: '{archive-artifacts} **/dependency_tree.txt' - integration-distribution-git-url scm: @@ -181,7 +181,7 @@ comment-contains-value: 'recheck' projects: - project-compare-type: 'ANT' - project-pattern: '{name}' + project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' @@ -195,7 +195,7 @@ - maven-target: maven-version: '{mvn33}' pom: '$GERRIT_PROJECT/pom.xml' - goals: 'clean install -V -B -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}' + goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}' java-opts: - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: '{mvn-settings}' @@ -206,7 +206,7 @@ maven: maven-name: '{mvn33}' root-pom: 'distribution/pom.xml' - goals: 'clean install -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' settings: '{mvn-settings}' settings-type: cfp @@ -220,7 +220,7 @@ publishers: - email-notification: - email-prefix: '[{name}]' + email-prefix: '[{project-name}]' - postbuildscript: builders: - shell: | @@ -234,7 +234,7 @@ maven-version: '{mvn33}' - job-template: - name: '{name}-integration-{stream}' + name: '{project-name}-integration-{stream}' # Job template for ODL integration verify jobs # @@ -247,7 +247,7 @@ # branch: git branch (eg. stable/lithium or master) project-type: maven - node: dynamic_merge + node: '{build-node}' jdk: '{jdk}' logrotate: @@ -303,7 +303,115 @@ maven-version: '{mvn33}' - job-template: - name: '{name}-periodic-{stream}' + name: '{project-name}-merge-{stream}' + + # Job template for ODL merge jobs + # + # The purpose of this job template is to setup a ODL merge job + # and deploy artifacts to Nexus. + # + # Required Variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + + project-type: maven + node: '{build-node}' + jdk: '{jdk}' + + logrotate: + daysToKeep: '14' + numToKeep: '10' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '' + choosing-strategy: 'default' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - timed: 'H H * * 0' + - gerrit-trigger-patch-merged: + name: '{project}' + branch: '{branch}' + + prebuilders: + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: 'odl-global-settings' + settings-file: '{mvn-settings}' + + maven: + maven-name: '{mvn33}' + goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream}' + maven-opts: '{mvn-opts}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp + post-step-run-condition: UNSTABLE + + postbuilders: + - conditional-step: + condition-kind: file-exists + condition-filename: deploy-site.xml + condition-basedir: workspace + + # The strategy here is intentional to run Maven site:deploy twice + # once using regular pom.xml to produce a staged-site which is + # then used by deploy-site.xml to push to Nexus. This is a + # workaround to Maven Site's default linking code which creates + # incorrect URLs for sites due to auto-detection assuming your + # project is configured in a certain way which ODL is not. + steps: + - maven-target: + maven-version: '{mvn33}' + pom: pom.xml + goals: 'site:deploy -V -B -Dstream={stream}' + java-opts: + - '-Xmx2g' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp + - maven-target: + maven-version: '{mvn33}' + pom: deploy-site.xml + goals: 'site:deploy -V -B -Dstream={stream}' + java-opts: + - '-Xmx2g' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp + + reporters: + - findbugs + + publishers: + - email-notification: + email-prefix: '[{project-name}]' + - maven-deploy: + id: '' + unique-version: true + deploy-unstable: false + - jacoco-report + - archive-build: + maven-version: '{mvn33}' + +- job-template: + name: '{project-name}-periodic-{stream}' # Job template for periodic builders # @@ -315,7 +423,7 @@ # branch: git branch (eg. stable/lithium or master) project-type: maven - node: dynamic_verify + node: '{build-node}' jdk: '{jdk}' logrotate: @@ -360,17 +468,80 @@ publishers: - email-notification: - email-prefix: '[{name}]' + email-prefix: '[{project-name}]' + - jacoco-report + - archive-build: + maven-version: '{mvn33}' + +- job-template: + name: '{project-name}-sonar' + disabled: false + + project-type: maven + node: '{build-node}' + jdk: 'openjdk8' + + logrotate: + daysToKeep: '7' + numToKeep: '10' + artifactDaysToKeep: '1' + artifactNumToKeep: '1' + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - git-scm: + refspec: '' + branch: 'master' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - timed: 'H H * * 6' + - gerrit-trigger-patch-sonar: + name: '{project}' + + prebuilders: + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: 'odl-global-settings' + settings-file: '{mvn-settings}' + + maven: + maven-name: '{mvn33}' + goals: '{mvn-goals} -V -B -Djenkins -Dsonar' + maven-opts: '{mvn-opts}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp + + reporters: + - findbugs + + publishers: + - sonar: + language: 'java' + maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m' + - email-notification: + email-prefix: '[{project-name}]' - jacoco-report - archive-build: maven-version: '{mvn33}' - job-template: - name: '{name}-validate-autorelease-{stream}' + name: '{project-name}-validate-autorelease-{stream}' disabled: '{obj:disable_autorelease}' project-type: maven - node: dynamic_verify + node: '{build-node}' concurrent: true jdk: '{jdk}' @@ -428,7 +599,7 @@ comment-contains-value: 'revalidate' projects: - project-compare-type: 'ANT' - project-pattern: 'PROJECT_PATH' + project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' @@ -443,7 +614,7 @@ - maven-target: maven-version: '{mvn33}' pom: validate-pom.xml - goals: 'clean install -V -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + goals: 'clean install dependency:tree -V -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' java-opts: - '-Xmx8g' settings: 'autorelease-settings' @@ -468,6 +639,141 @@ publishers: - email-notification: - email-prefix: '[autorelease] [{name}]' + email-prefix: '[autorelease] [{project-name}]' - archive-build: maven-version: '{mvn33}' + +- job-template: + name: '{project-name}-verify-{stream}' + + # Job template for ODL verify jobs + # + # The purpose of this job template is to setup a ODL verify job + # + # Required Variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + + project-type: matrix + node: matrix_master + concurrent: true + + axes: + - axis: + type: slave + name: nodes + values: + - '{build-node}' + - axis: + type: jdk + values: '{obj:jdks}' + + logrotate: + daysToKeep: '14' + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-patch-submitted: + name: '{project}' + branch: '{branch}' + + builders: + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: 'odl-global-settings' + settings-file: '{mvn-settings}' + - maven-target: + maven-version: '{mvn33}' + goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream}' + java-opts: + - '{mvn-opts}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp + + publishers: + - findbugs + - email-notification: + email-prefix: '[{project-name}]' + - jacoco-report + - archive-build: + maven-version: '{mvn33}' + +- job-template: + name: '{project-name}-verify-{stream}-{maven}-{jdk}' + + # Job template for ODL verify jobs + # + # The purpose of this job template is to setup a ODL verify job + # + # Required Variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + + project-type: freestyle + node: '{build-node}' + concurrent: true + jdk: '{jdk}' + + logrotate: + daysToKeep: '7' + + parameters: + - opendaylight-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-patch-submitted: + name: '{project}' + branch: '{branch}' + + builders: + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: 'odl-global-settings' + settings-file: '{mvn-settings}' + - maven-target: + maven-version: '{mvn-version}' + goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream}' + java-opts: + - '{mvn-opts}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp + + publishers: + - findbugs + - email-notification: + email-prefix: '[{project-name}]' + - jacoco-report + - archive-build: + maven-version: '{mvn-version}'