X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-templates-java.yaml;h=87e2a26ad24292703d7f00a40efbc86da99eaf88;hb=78257e6fdec61fc0697e7a2464c1e6c687327592;hp=038b90ab574bd6fb0d42668f36f074a5f0338762;hpb=2a8744f668e76ecda6b4f579fa9cc01da649963b;p=releng%2Fbuilder.git diff --git a/jjb/releng-templates-java.yaml b/jjb/releng-templates-java.yaml index 038b90ab5..87e2a26ad 100644 --- a/jjb/releng-templates-java.yaml +++ b/jjb/releng-templates-java.yaml @@ -40,9 +40,9 @@ 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 -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 -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' java-opts: - '-Xmx4096m -XX:MaxPermSize=512m' settings: '{mvn-settings}' @@ -55,17 +55,22 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + 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 + # separate lifecycle: + # https://issues.apache.org/jira/browse/MNG-5666 project-type: maven node: '{build-node}' jdk: '{jdk}' @@ -81,7 +86,7 @@ project: 'integration/distribution' branch: '{branch}' refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts} **/dependency_tree.txt' + artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt' scm: - git-scm: @@ -103,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' @@ -114,13 +119,14 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project}]' - maven-deploy: id: '' unique-version: true deploy-unstable: false - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: # Template: {name}-distribution-check-{stream} @@ -129,7 +135,7 @@ # 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}' @@ -147,8 +153,9 @@ project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts} **/dependency_tree.txt' - - integration-distribution-git-url + artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt' + - integration-distribution-git-url: + git-url: '{git-url}' scm: - integration-gerrit-scm: @@ -160,38 +167,22 @@ 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' - 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: 'test-distribution' - - comment-added-contains-event: - comment-contains-value: 'reverify' - - comment-added-contains-event: - comment-contains-value: 'recheck' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - skip-vote: - successful: false - failed: false - unstable: false - notbuilt: false + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: '**' builders: - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: '$GERRIT_PROJECT/pom.xml' 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: @@ -201,7 +192,7 @@ global-settings: 'odl-global-settings' global-settings-type: cfp - maven-target: - maven-version: '{mvn33}' + maven-version: 'mvn33' pom: 'distribution/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' java-opts: @@ -214,6 +205,7 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - postbuildscript: builders: @@ -224,8 +216,10 @@ script-only-if-succeeded: False script-only-if-failed: False mark-unstable-if-failed: True - - archive-build: - maven-version: '{mvn33}' + - archive: + artifacts: '*.zip' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: '{project-name}-integration-{stream}' @@ -237,10 +231,10 @@ # 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: maven + project-type: freestyle node: '{build-node}' jdk: '{jdk}' @@ -271,30 +265,29 @@ jobs: '{dependencies}' result: 'success' - prebuilders: + builders: - 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 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' - maven-opts: '{mvn-opts}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'odl-global-settings' - global-settings-type: cfp - - reporters: - - findbugs + - maven-target: + 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}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '{email-upstream}' + - findbugs - jacoco-report - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: '{project-name}-merge-{stream}' @@ -305,9 +298,13 @@ # 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 + # separate lifecycle: + # https://issues.apache.org/jira/browse/MNG-5666 project-type: maven node: '{build-node}' jdk: '{jdk}' @@ -337,6 +334,7 @@ triggers: - timed: 'H H * * 0' - gerrit-trigger-patch-merged: + server-name: '{server-name}' name: '{project}' branch: '{branch}' @@ -347,7 +345,7 @@ settings-file: '{mvn-settings}' 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}' @@ -370,7 +368,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: @@ -380,7 +378,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: @@ -395,14 +393,15 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - maven-deploy: id: '' unique-version: true deploy-unstable: false - jacoco-report - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: '{project-name}-periodic-{stream}' @@ -413,10 +412,10 @@ # 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: maven + project-type: freestyle node: '{build-node}' jdk: '{jdk}' @@ -442,36 +441,35 @@ triggers: - timed: '@daily' - prebuilders: + builders: - 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 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' - maven-opts: '{mvn-opts}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'odl-global-settings' - global-settings-type: cfp - - reporters: - - findbugs + - maven-target: + 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}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - jacoco-report - - archive-build: - maven-version: '{mvn33}' + - findbugs + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: '{project-name}-sonar' disabled: false - project-type: maven + project-type: freestyle node: '{build-node}' jdk: 'openjdk8' @@ -500,39 +498,49 @@ triggers: - timed: 'H H * * 6' - gerrit-trigger-patch-sonar: + server-name: '{server-name}' name: '{project}' + # FIXME: Make sure this does not alter Gerrit votes, then update docs. - prebuilders: + builders: - 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 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' - maven-opts: '{mvn-opts}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'odl-global-settings' - global-settings-type: cfp - - reporters: - - findbugs + - maven-target: + 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}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp + - maven-target: + 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 + goals: 'sonar:sonar -V -B -Djenkins -Dsonar -Dsonar.host.url=https://sonar.opendaylight.org -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + maven-opts: + - '{mvn-opts}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'odl-global-settings' + global-settings-type: cfp publishers: - - sonar: - language: 'java' - maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m' - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - jacoco-report - - archive-build: - maven-version: '{mvn33}' + - findbugs + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: '{project-name}-validate-autorelease-{stream}' - disabled: '{obj:disable_autorelease}' + disabled: false project-type: freestyle node: '{build-node}' @@ -554,7 +562,7 @@ release-branch: '{branch}' - string: name: CLONE_URL - default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease' + default: '{git-url}/releng/autorelease' description: "Autorelease clone URL" scm: @@ -574,36 +582,18 @@ 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' - - comment-added-contains-event: - comment-contains-value: 'revalidate' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**/*.xml' + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: '**/*.xml' builders: - jacoco-nojava-workaround - 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: @@ -613,7 +603,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: @@ -626,9 +616,10 @@ publishers: - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[autorelease] [{project-name}]' - - archive-build: - maven-version: '{mvn33}' + - opendaylight-infra-shiplogs: + maven-version: 'mvn33' - job-template: name: '{project-name}-verify-{stream}-{maven}-{jdks}' @@ -638,8 +629,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}' @@ -667,8 +658,10 @@ triggers: - gerrit-trigger-patch-submitted: - name: '{project}' + server: '{server-name}' + project: '{project}' branch: '{branch}' + files: '**' builders: - jacoco-nojava-workaround @@ -688,7 +681,8 @@ publishers: - findbugs - email-notification: + email-recipients: '{email-recipients}' email-prefix: '[{project-name}]' - jacoco-report - - archive-build: + - opendaylight-infra-shiplogs: maven-version: '{mvn-version}'