# 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: sdninterfaceapp jobs: - 'sdninterfaceapp-verify-{stream}' - 'sdninterfaceapp-merge-{stream}' - 'sdninterfaceapp-periodic-{stream}' - 'sdninterfaceapp-distribution-{stream}' - 'sdninterfaceapp-integration-{stream}' - 'sdninterfaceapp-sonar' - 'sdninterfaceapp-clm-{stream}' - 'sdninterfaceapp-validate-autorelease-{stream}' # stream: release stream (eg. stable-lithium or beryllium) # branch: git branch (eg. stable/lithium or master) stream: - boron: branch: 'master' jdk: openjdk8 jdks: - openjdk8 disable_autorelease: False - beryllium: branch: 'stable/beryllium' jdk: openjdk7 jdks: - openjdk7 - openjdk8 disable_autorelease: False - stable-lithium: branch: 'stable/lithium' jdk: openjdk7 jdks: - openjdk7 - openjdk8 disable_autorelease: True - stable-helium: branch: 'stable/helium' jdk: openjdk7 jdks: - openjdk7 disable_autorelease: True project: 'sdninterfaceapp' # 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: 'sdninterfaceapp-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: 'sdninterfaceapp' branch: '{branch}' builders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{sdninterfaceapp-settings}' - maven-target: maven-version: '{mvn33}' pom: 'pom.xml' goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}' java-opts: - '-Xmx1024m -XX:MaxPermSize=256m' settings: '{sdninterfaceapp-settings}' global-settings: '{odl-global-settings}' publishers: - findbugs - email-notification: email-prefix: '[sdninterfaceapp]' - jacoco-report - job-template: name: 'sdninterfaceapp-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: '{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: '' choosing-strategy: 'default' wrappers: - build-timeout - ssh-agent-credentials: users: - '{ssh-credentials}' triggers: - timed: 'H H * * 0' - gerrit-trigger-patch-merged: name: 'sdninterfaceapp' branch: '{branch}' prebuilders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{sdninterfaceapp-settings}' maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' settings: '{sdninterfaceapp-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: '{sdninterfaceapp-settings}' global-settings: '{odl-global-settings}' - maven-target: maven-version: '{mvn33}' pom: deploy-site.xml goals: 'site:deploy -Dstream={stream}' java-opts: - '-Xmx2g' settings: '{sdninterfaceapp-settings}' global-settings: '{odl-global-settings}' reporters: - findbugs publishers: - archive-artifacts: artifacts: '**/target/surefire-reports/*-output.txt, ' - email-notification: email-prefix: '[sdninterfaceapp]' - maven-deploy: id: '' unique-version: true deploy-unstable: false - jacoco-report - job-template: name: 'sdninterfaceapp-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: '{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: '@daily' prebuilders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{sdninterfaceapp-settings}' maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' settings: '{sdninterfaceapp-settings}' global-settings: '{odl-global-settings}' reporters: - findbugs publishers: - email-notification: email-prefix: '[sdninterfaceapp]' - jacoco-report - job-template: name: 'sdninterfaceapp-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: '{sdninterfaceapp-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 - job-template: name: 'sdninterfaceapp-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: 'odlparent-merge-{stream},bgpcep-merge-{stream}' result: 'success' prebuilders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{sdninterfaceapp-settings}' maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' settings: '{sdninterfaceapp-settings}' global-settings: '{odl-global-settings}' reporters: - findbugs publishers: - email-notification: email-prefix: '[sdninterfaceapp] [odlparent] [bgpcep]' - jacoco-report - job-template: name: 'sdninterfaceapp-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: 'sdninterfaceapp' prebuilders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{sdninterfaceapp-settings}' maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' settings: '{sdninterfaceapp-settings}' global-settings: '{odl-global-settings}' reporters: - findbugs publishers: - sonar: language: 'java' maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m' - email-notification: email-prefix: '[sdninterfaceapp]' - jacoco-report - job-template: name: 'sdninterfaceapp-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: '{sdninterfaceapp-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: '{sdninterfaceapp-settings}' global-settings: '{odl-global-settings}' postbuilders: - shell: 'find . -regex ".*karaf/target" | xargs rm -rf' - check-clm: application-name: sdninterfaceapp publishers: - email-notification: email-prefix: '[sdninterfaceapp]' - job-template: name: 'sdninterfaceapp-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: 'sdninterfaceapp' 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] [sdninterfaceapp]'