X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-templates-java.yaml;h=d0c10aa2ac8d1836cc55f2526377725a87342543;hb=36ca9b6d0ffc58ccb9554590db1ce7f09af56653;hp=c5515353777c46e1eb431c4e5ae82cc32e73cda6;hpb=eb4d7347a63b451e2835614a92a9c7eef4c5ee2e;p=releng%2Fbuilder.git diff --git a/jjb/releng-templates-java.yaml b/jjb/releng-templates-java.yaml index c55153537..d0c10aa2a 100644 --- a/jjb/releng-templates-java.yaml +++ b/jjb/releng-templates-java.yaml @@ -40,7 +40,7 @@ global-settings-file: 'odl-global-settings' settings-file: '{mvn-settings}' - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: 'pom.xml' goals: 'clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' java-opts: @@ -55,16 +55,17 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: name: '{project-name}-distribution-{stream}' # 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) # Need to keep jobs that deploy to Nexus at end of build as Maven # projects. Maybe reconsider this once upstream moves deploy to a @@ -107,7 +108,7 @@ settings-file: '{mvn-settings}' maven: - maven-name: '{mvn33}' + maven-name: 'mvn33' root-pom: 'pom.xml' 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' @@ -118,22 +119,23 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project}]' - maven-deploy: id: '' unique-version: true deploy-unstable: false - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: - # Template: {project-name}-distribution-check-{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: '{project-name}-distribution-check-{stream}' - disabled: '{obj:disable_distribution_check}' + disabled: false project-type: freestyle node: '{build-node}' @@ -164,11 +166,15 @@ wrappers: - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + # Distro-check jobs typically run within 10 - 30 minutes + # with 45 minutes being the occassional edge case. + # enforce a 60 minute limit to ensure stuck jobs get + # cleared up sooner. + build-timeout: '60' triggers: - gerrit: - server-name: 'OpenDaylight' + server-name: '{server-name}' trigger-on: - patchset-created-event: exclude-drafts: 'true' @@ -176,9 +182,7 @@ exclude-no-code-change: 'true' - draft-published-event - comment-added-contains-event: - comment-contains-value: 'test-distribution' - - comment-added-contains-event: - comment-contains-value: 'reverify' + comment-contains-value: 'redistcheck' - comment-added-contains-event: comment-contains-value: 'recheck' projects: @@ -194,89 +198,31 @@ notbuilt: false builders: - # This step is to cache artifacts needed to build distribution. "fr" stands for "fake remote". - # Running SingleFeaturesTest here does not seem to be required. - maven-target: - maven-version: '{mvn33}' - pom: 'distribution/pom.xml' - goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/fr -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/fr' - java-opts: - - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'odl-global-settings' - global-settings-type: cfp - # Now delete artifacts related to $GERRIT_PROJECT. To be safe, delete {project-name} location as well. - - shell: | - rm -rfv /tmp/fr/org/opendaylight/$GERRIT_PROJECT - rm -rfv /tmp/fr/org/opendaylight/{project-name} - # Now build project in really local repository /tmp/r/ and deploy to /tmp/fr/. - # We could copy some artifacts from /tmp/fr/ to /tmp/r/, - # but that would hide errors of missing POM dependency references. - # Ordinary SingleFeatureTest failures are detected in verify job, so we can use "q" profile here. - - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: '$GERRIT_PROJECT/pom.xml' - goals: 'clean deploy dependency:tree -DoutputFile=dependency_tree.txt -V -B -Pq -DaltDeploymentRepository=fake-remote::default::file:///tmp/fr/ -Djenkins -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}' settings-type: cfp global-settings: 'odl-global-settings' global-settings-type: cfp - # Now wipe the local repository. - - shell: | - rm -rf /tmp/r - # Now the ugly part. It seems that the only way to tell Maven 2+ - # which remote repositories to use is via settings.xml file. - # So we create such file here. - - shell: | - set -exu - echo ' - - - - file - - - file - file - file:///tmp/fr/ - - - - - - - file - file - file:///tmp/fr/ - - - - - - - - ' > fake_remotes.xml - # Finally, repeat the distribution build but with the new settings. - # We cannot use --offline, because: "Cannot access file (file:///tmp/fr) in offline mode" - # This final build step not only detects when important project artifacts are not deployed, - # but also when they are deployed and just POM dependency reference for them is missing. - # For that, not only distribution-karaf is to be built, but also features, and without skipping SingleFeatureTest. - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: 'distribution/pom.xml' - goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -s fake_remotes.xml -V -B -Pq,file -DskipTests=false -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' java-opts: - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp - integration-distribution-check publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - postbuildscript: builders: @@ -290,7 +236,7 @@ - archive: artifacts: '*.zip' - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: name: '{project-name}-integration-{stream}' @@ -302,8 +248,8 @@ # is successfully built. # # 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) project-type: freestyle node: '{build-node}' @@ -342,7 +288,7 @@ global-settings-file: 'odl-global-settings' settings-file: '{mvn-settings}' - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' java-opts: - '{mvn-opts}' @@ -353,11 +299,12 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '{email-upstream}' - findbugs - jacoco-report - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: name: '{project-name}-merge-{stream}' @@ -368,8 +315,8 @@ # and deploy artifacts to Nexus. # # 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) # Need to keep jobs that deploy to Nexus at end of build as Maven # projects. Maybe reconsider this once upstream moves deploy to a @@ -404,6 +351,7 @@ triggers: - timed: 'H H * * 0' - gerrit-trigger-patch-merged: + server-name: '{server-name}' name: '{project}' branch: '{branch}' @@ -413,9 +361,8 @@ global-settings-file: 'odl-global-settings' settings-file: '{mvn-settings}' - # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*? maven: - maven-name: '{mvn33}' + maven-name: 'mvn33' goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' maven-opts: '{mvn-opts}' settings: '{mvn-settings}' @@ -438,7 +385,7 @@ # project is configured in a certain way which ODL is not. steps: - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: pom.xml goals: 'site:deploy -V -B -Dstream={stream}' java-opts: @@ -448,7 +395,7 @@ global-settings: 'odl-global-settings' global-settings-type: cfp - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: deploy-site.xml goals: 'site:deploy -V -B -Dstream={stream}' java-opts: @@ -463,6 +410,7 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - maven-deploy: id: '' @@ -470,7 +418,7 @@ deploy-unstable: false - jacoco-report - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: name: '{project-name}-periodic-{stream}' @@ -481,8 +429,8 @@ # builder. # # 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) project-type: freestyle node: '{build-node}' @@ -516,7 +464,7 @@ global-settings-file: 'odl-global-settings' settings-file: '{mvn-settings}' - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' java-opts: - '{mvn-opts}' @@ -527,11 +475,12 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - jacoco-report - findbugs - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: name: '{project-name}-sonar' @@ -566,6 +515,7 @@ triggers: - timed: 'H H * * 6' - gerrit-trigger-patch-sonar: + server-name: '{server-name}' name: '{project}' builders: @@ -574,7 +524,7 @@ global-settings-file: 'odl-global-settings' settings-file: '{mvn-settings}' - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' maven-opts: - '{mvn-opts}' @@ -583,7 +533,7 @@ global-settings: 'odl-global-settings' global-settings-type: cfp - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' # We should switch to the recommended configuration of sonar once # JJB adds support for configurating the Sonar wrapper: # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins @@ -597,15 +547,16 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - jacoco-report - findbugs - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: name: '{project-name}-validate-autorelease-{stream}' - disabled: '{obj:disable_autorelease}' + disabled: false project-type: freestyle node: '{build-node}' @@ -648,7 +599,7 @@ triggers: - gerrit: - server-name: 'OpenDaylight' + server-name: '{server-name}' trigger-on: - patchset-created-event: exclude-drafts: 'true' @@ -657,8 +608,6 @@ - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - comment-added-contains-event: comment-contains-value: 'revalidate' projects: @@ -676,7 +625,7 @@ - autorelease-checkout-gerrit-patch - autorelease-generate-release-patches - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: validate-pom.xml goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' java-opts: @@ -686,7 +635,7 @@ global-settings: 'odl-global-settings' global-settings-type: cfp - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: 'pom.xml' goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' java-opts: @@ -699,9 +648,10 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[autorelease] [{project-name}]' - opendaylight-infra-shiplogs: - maven-version: '{mvn33}' + maven-version: 'mvn33' - job-template: name: '{project-name}-verify-{stream}-{maven}-{jdks}' @@ -711,8 +661,8 @@ # 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) + # stream: release stream (eg. boron or carbon) + # branch: git branch (eg. stable/boron or master) project-type: freestyle node: '{build-node}' @@ -740,6 +690,7 @@ triggers: - gerrit-trigger-patch-submitted: + server-name: '{server-name}' name: '{project}' branch: '{branch}' @@ -761,6 +712,7 @@ publishers: - findbugs - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - jacoco-report - opendaylight-infra-shiplogs: