-# REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
-# Otherwise this file will be automatically overwritten by the template
-# autobuilder.
-
# ODL Releng build templates
- project:
name: vtn
jobs:
- - 'vtn-verify-{stream}'
- - 'vtn-merge-{stream}'
- - 'vtn-periodic-{stream}'
- - 'vtn-distribution-{stream}'
- - 'vtn-distribution-check-{stream}'
- - 'vtn-integration-{stream}'
- - 'vtn-sonar'
- - 'vtn-clm-{stream}'
- - 'vtn-validate-autorelease-{stream}'
-
+ - '{name}-clm-{stream}'
+ - '{name}-distribution-{stream}'
+ - '{name}-distribution-check-{stream}'
+ - '{name}-integration-{stream}'
+ - '{name}-merge-{stream}'
+ - '{name}-periodic-{stream}'
+ - '{name}-sonar'
+ - '{name}-validate-autorelease-{stream}'
+ - '{name}-verify-{stream}'
# stream: release stream (eg. stable-lithium or beryllium)
# branch: git branch (eg. stable/lithium or master)
- openjdk7
disable_autorelease: True
disable_distribution_check: True
- - stable-helium:
- branch: 'stable/helium'
- jdk: openjdk7
- jdks:
- - openjdk7
- disable_autorelease: True
- disable_distribution_check: True
project: 'vtn'
-
-# For the Job templates below replace instances of:
-# PROJECT_SHORTNAME with your project name (eg. circuitsw)
-# PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
-# MAVEN_GOALS with your maven goals to build
-# MAVEN_OPTS with your maven options to build
-
-- job-template:
- name: 'vtn-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:
- - dynamic_verify
- - axis:
- type: jdk
- values: '{obj:jdks}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - gerrit-refspec-parameter:
- refspec: 'refs/heads/{branch}'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - gerrit-trigger-patch-submitted:
- name: 'vtn'
- branch: '{branch}'
-
- builders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - provide-maven-settings:
- global-settings-file: '{odl-global-settings}'
- settings-file: '{vtn-settings}'
- - maven-target:
- maven-version: '{mvn33}'
- pom: 'pom.xml'
- goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
- java-opts:
- - '-Xmx1024m -XX:MaxPermSize=256m'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
-
- publishers:
- - findbugs
- - email-notification:
- email-prefix: '[vtn]'
- - jacoco-report
-
-- job-template:
- name: 'vtn-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: dynamic_merge
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '14'
- numToKeep: '10'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - gerrit-refspec-parameter:
- refspec: 'refs/heads/{branch}'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- choosing-strategy: 'default'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - timed: 'H H * * 0'
- - gerrit-trigger-patch-merged:
- name: 'vtn'
- branch: '{branch}'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - provide-maven-settings:
- global-settings-file: '{odl-global-settings}'
- settings-file: '{vtn-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
- maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
- 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 -Dstream={stream}'
- java-opts:
- - '-Xmx2g'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
- - maven-target:
- maven-version: '{mvn33}'
- pom: deploy-site.xml
- goals: 'site:deploy -Dstream={stream}'
- java-opts:
- - '-Xmx2g'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
-
- reporters:
- - findbugs
-
- publishers:
- - archive-artifacts:
- artifacts: '**/target/surefire-reports/*-output.txt, manager/dist/*/target/*.zip, coordinator/dist/target/*.bz2, manager/northbound/target/site/wsdocs/**, manager/api/target/*-javadoc.jar, manager/api/target/apidocs/**, target/*-javadoc.jar, target/apidocs/**, manager/model/target/site/models/**'
- - email-notification:
- email-prefix: '[vtn]'
- - maven-deploy:
- id: ''
- unique-version: true
- deploy-unstable: false
- - jacoco-report
-
-- job-template:
- name: 'vtn-periodic-{stream}'
- disabled: false
-
- # Job template for periodic builders
- #
- # The purpose of this job template is to setup a periodic
- # builder.
- #
- # Required Variables:
- # stream: release stream (eg. stable-lithium or beryllium)
- # branch: git branch (eg. stable/lithium or master)
-
- project-type: maven
- node: dynamic_verify
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '14'
- numToKeep: '10'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - timed: '@daily'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - provide-maven-settings:
- global-settings-file: '{odl-global-settings}'
- settings-file: '{vtn-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
- maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
-
- reporters:
- - findbugs
-
- publishers:
- - email-notification:
- email-prefix: '[vtn]'
- - jacoco-report
-
-- job-template:
- name: 'vtn-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
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: 'integration/distribution'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - reverse:
- jobs: '{project}-merge-{stream}'
- result: 'success'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - provide-maven-settings:
- global-settings-file: '{odl-global-settings}'
- settings-file: '{vtn-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -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-settings}'
- global-settings: '{odl-global-settings}'
-
- publishers:
- - email-notification:
- email-prefix: '[{project}]'
- - maven-deploy:
- id: ''
- unique-version: true
- deploy-unstable: false
-
-# Template: integration-patch-distribution-{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
-
-- job-template:
- name: 'vtn-distribution-check-{stream}'
- disabled: '{obj:disable_distribution_check}'
-
- project-type: maven
- node: dynamic_verify
- concurrent: true
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '14'
- numToKeep: '10'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - gerrit-project-parameter:
- project: '{project}'
- - gerrit-refspec-parameter:
- refspec: '{branch}'
- - project-parameter:
- project: '{project}'
- - integration-distribution-git-url
-
- scm:
- - integration-gerrit-scm:
- credentials-id: '{ssh-credentials}'
- basedir: '$GERRIT_PROJECT'
- refspec: '$GERRIT_REFSPEC'
- branch: '{branch}'
- - integration-distribution-scm:
- credentials-id: '{ssh-credentials}'
- branch: '{branch}'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- 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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{name}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: true
- failed: true
- unstable: true
- notbuilt: true
-
- prebuilders:
- - integration-get-bundle-url
- - inject:
- properties-file: 'bundle.txt'
- - wipe-org-opendaylight-repo
- - maven-target:
- maven-version: '{mvn33}'
- pom: '$GERRIT_PROJECT/pom.xml'
- goals: 'clean install -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}'
- java-opts:
- - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'distribution/pom.xml'
- goals: 'clean install -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: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
- ignore-upstream-changes: true
- post-step-run-condition: 'SUCCESS'
-
- postbuilders:
- - trigger-builds:
- - project: 'integration-distribution-deploy-{stream}'
- block: true
- predefined-parameters:
- BUNDLEURL=$BUNDLEURL
-
- publishers:
- - email-notification:
- email-prefix: '[vtn]'
-
-- job-template:
- name: 'vtn-integration-{stream}'
- disabled: false
-
- # Job template for ODL integration verify jobs
- #
- # This is similar to a normal verify job, but it runs
- # when a project that's a dependency of your project
- # is successfully built.
- #
- # Required Variables:
- # stream: release stream (eg. stable-lithium or beryllium)
- # branch: git branch (eg. stable/lithium or master)
-
- project-type: maven
- node: dynamic_merge
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - reverse:
- jobs: 'controller-merge-{stream},mdsal-merge-{stream},neutron-merge-{stream},odlparent-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},yangtools-merge-{stream}'
- result: 'success'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - provide-maven-settings:
- global-settings-file: '{odl-global-settings}'
- settings-file: '{vtn-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
- maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
-
- reporters:
- - findbugs
-
- publishers:
- - email-notification:
- email-prefix: '[vtn] [controller] [mdsal] [neutron] [odlparent] [openflowplugin] [ovsdb] [yangtools]'
- - jacoco-report
-
-- job-template:
- name: 'vtn-sonar'
- disabled: false
-
- project-type: maven
- node: dynamic_verify
- jdk: 'openjdk8'
-
- logrotate:
- daysToKeep: '7'
- numToKeep: '10'
- artifactDaysToKeep: '1'
- artifactNumToKeep: '1'
-
- parameters:
- - project-parameter:
- project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: 'master'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - timed: '@weekly'
- - gerrit-trigger-patch-sonar:
- name: 'vtn'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - provide-maven-settings:
- global-settings-file: '{odl-global-settings}'
- settings-file: '{vtn-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
- maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
-
- reporters:
- - findbugs
-
- publishers:
- - sonar:
- language: 'java'
- maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
- - email-notification:
- email-prefix: '[vtn]'
- - jacoco-report
-
-- job-template:
- name: 'vtn-clm-{stream}'
- disabled: false
-
- project-type: maven
- node: dynamic_verify
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - timed: '@weekly'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - provide-maven-settings:
- global-settings-file: '{odl-global-settings}'
- settings-file: '{vtn-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
- maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
- settings: '{vtn-settings}'
- global-settings: '{odl-global-settings}'
-
- postbuilders:
- - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
- - check-clm:
- application-name: vtn
-
- publishers:
- - email-notification:
- email-prefix: '[vtn]'
-
-- job-template:
- name: 'vtn-validate-autorelease-{stream}'
- disabled: '{obj:disable_autorelease}'
-
- project-type: maven
- node: dynamic_verify
- concurrent: true
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - autorelease-release-tag:
- release-tag: 'validate'
- - autorelease-release-branch:
- release-branch: '{branch}'
- - autorelease-release-datestamp:
- datestamp: true
-
- scm:
- - git:
- url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
- refspec: ''
- branches:
- - 'origin/{branch}'
- skip-tag: true
- submodule:
- recursive: true
-
- wrappers:
- - autorelease-build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - gerrit:
- server-name: 'OpenDaylight'
- 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'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- - comment-added-contains-event:
- comment-contains-value: 'revalidate'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'vtn'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - autorelease-checkout-gerrit-patch
- - autorelease-generate-taglist
- - autorelease-generate-release-patches
- - maven-target:
- maven-version: '{mvn33}'
- pom: validate-pom.xml
- goals: 'clean install -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}'
- global-settings: '{odl-global-settings}'
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
- maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: '{autorelease-settings}'
- global-settings: '{odl-global-settings}'
- automatic-archiving: false
- post-step-run-condition: UNSTABLE
-
- postbuilders:
- - shell: "./scripts/list-project-dependencies.sh"
- - autorelease-sys-stats
-
- publishers:
- - archive-artifacts:
- artifacts: '*.log'
- - email-notification:
- email-prefix: '[autorelease] [vtn]'
-
+ mvn-settings: 'vtn-settings'
+ mvn-goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ dependencies: 'controller-merge-{stream},mdsal-merge-{stream},neutron-merge-{stream},odlparent-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},yangtools-merge-{stream}'
+ email-upstream: '[vtn] [controller] [mdsal] [neutron] [odlparent] [openflowplugin] [ovsdb] [yangtools]'
+ archive-artifacts: 'manager/dist/*/target/*.zip coordinator/dist/target/*.bz2 manager/northbound/target/site/wsdocs/** manager/api/target/*-javadoc.jar manager/api/target/apidocs/** target/*-javadoc.jar target/apidocs/** manager/model/target/site/models/**'