blob: bee044953bb7382e2af6d3d3e9743e7aa7fac886 [file] [log] [blame]
---
- job_boiler_plate: &job_boiler_plate
name: job-boiler-plate
project-type: freestyle
node: '{build-node}'
######################
# Default parameters #
######################
branch: master
submodule-recursive: true
git-url: '$GIT_URL/$GERRIT_PROJECT'
#####################
# Job Configuration #
#####################
properties:
- lf-infra-properties:
project: '{project}'
build-days-to-keep: '{build-days-to-keep}'
#- github:
# url: '{git-url}/{github-org}/{project}'
parameters:
- lf-infra-parameters:
project: '{project}'
branch: '{stream}'
stream: '{stream}'
lftools-version: '{lftools-version}'
wrappers:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
- verify_boiler_plate: &verify_boiler_plate
name: verify_boiler_plate
concurrent: true
scm:
- lf-infra-gerrit-scm:
git-url: '{git-url}'
refspec: '$GERRIT_REFSPEC'
branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
choosing-strategy: gerrit
jenkins-ssh-credential: '{jenkins-ssh-credential}'
triggers:
- gerrit:
#server-name: '{gerrit-server-name}'
server-name: 'ONOS Project Gerrit'
#trigger-on: '{obj:gerrit_verify_triggers}'
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: '(?i)^.*recheck$'
projects:
- project-compare-type: PLAIN
project-pattern: '{project}'
branches:
- branch-compare-type: ANT
branch-pattern: '**/{stream}'
#file-paths: '{obj:gerrit_trigger_file_paths}'
- daily_boiler_plate: &daily_boiler_plate
name: daily_boiler_plate
concurrent: true
scm:
- lf-infra-gerrit-scm:
git-url: '{git-url}'
refspec: '$GERRIT_REFSPEC'
branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
choosing-strategy: gerrit
jenkins-ssh-credential: '{jenkins-ssh-credential}'
triggers:
- timed: '@daily'
- hourly_boiler_plate: &hourly_boiler_plate
name: hourly_boiler_plate
concurrent: true
scm:
- lf-infra-gerrit-scm:
git-url: '{git-url}'
refspec: '$GERRIT_REFSPEC'
branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
choosing-strategy: gerrit
jenkins-ssh-credential: '{jenkins-ssh-credential}'
triggers:
- timed: '@hourly'
- release_build_boiler_plate: &release_build_boiler_plate
name: release_build_boiler_plate
concurrent: true
parameters:
- lf-infra-parameters:
project: '{project}'
branch: '{stream}'
stream: '{stream}'
lftools-version: '{lftools-version}'
- string:
name: ONOS_VERSION
default: '1.12'
description: 'Version of ONOS to build'
- string:
name: ONOS_NEXT_VERSION
default: '1.13.0-SNAPSHOT'
description: 'Version of ONOS to build'
scm:
- lf-infra-gerrit-scm:
git-url: '{git-url}'
refspec: '$GERRIT_REFSPEC'
branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
choosing-strategy: gerrit
jenkins-ssh-credential: '{jenkins-ssh-credential}'
- job-template:
#default name is global
name: '{project-name}-{stream}-verify'
# Job template for Java verify jobs
#
# The purpose of this job templte is to run "maven clean install" for
# projects using this template.
#
# Required Variables:
# branch: git branch (eg. master)
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *verify_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-verify.sh
# JJB 1.6.2 does not support parameter expansion on filename?
#- shell: !include-raw-escape: {project-name}-verify.sh
# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
#default name is global
name: 'onos-yang-tools-{stream}-verify'
# Job template for Java verify jobs
#
# The purpose of this job templte is to run "maven clean install" for
# projects using this template.
#
# Required Variables:
# branch: git branch (eg. master)
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *verify_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-yang-tools-verify.sh
# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
#default name is global
name: 'onos-app-samples-{stream}-verify'
# Job template for Java verify jobs
#
# The purpose of this job templte is to run "maven clean install" for
# projects using this template.
#
# Required Variables:
# branch: git branch (eg. master)
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *verify_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-app-samples-verify.sh
# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
#default name is global
name: 'onos-loxi-{stream}-verify'
# Job template for Java verify jobs
#
# The purpose of this job templte is to run "maven clean install" for
# projects using this template.
#
# Required Variables:
# branch: git branch (eg. master)
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *verify_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-loxi-verify.sh
# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
#default name is global
name: 'onos-gui-{stream}-verify'
# Job template for Java verify jobs
#
# The purpose of this job templte is to run "maven clean install" for
# projects using this template.
#
# Required Variables:
# branch: git branch (eg. master)
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *verify_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-gui-verify.sh
- job-template:
#default name is global
name: 'onos-{stream}-release-build-verify'
# Job template for Java release check jobs
#
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *daily_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-release-build-verify.sh
# JJB 1.6.2 does not support parameter expansion on filename?
#- shell: !include-raw-escape: {project-name}-verify.sh
- job-template:
#default name is global
name: 'onos-release-build'
# Job template for Java release jobs
#
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *release_build_boiler_plate
builders:
- lf-provide-maven-settings:
settings-file: 'release-build-maven-settings'
global-settings-file: 'release-build-maven-settings'
- config-file-provider:
files:
- file-id: 'onos-build-credentials'
target: 'onos-build-credentials'
variable: 'CREDENTIALS_FILE'
- file-id: 'buck-config-local'
target: '.buckconfig.local'
variable: 'BUCK_CONFIG_FILE'
- file-id: 'secring.gpg.b64'
target: 'secring.gpg.b64'
variable: 'GPG_B64_FILE'
- file-id: 'secring.gpg.b64'
target: 'secring.gpg.b64'
variable: 'GPG_B64_FILE'
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-release-build.sh
# JJB 1.6.2 does not support parameter expansion on filename?
#- shell: !include-raw-escape: {project-name}-verify.sh
- job-template:
#default name is global
name: 'onos-{stream}-maven-verify'
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *hourly_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-maven-verify.sh
# JJB 1.6.2 does not support parameter expansion on filename?
#- shell: !include-raw-escape: {project-name}-verify.sh
- job-template:
#default name is global
name: 'onos-{stream}-sonar'
<<: *job_boiler_plate
# yamllint disable-line rule:key-duplicates
<<: *daily_boiler_plate
builders:
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-sonar.sh
# JJB 1.6.2 does not support parameter expansion on filename?
#- shell: !include-raw-escape: {project-name}-verify.sh
- project:
name: onos
project-name: onos
project: onos
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
- 'onos-1.10'
- 'onos-1.11'
- 'onos-1.12'
jobs:
- '{project-name}-{stream}-verify'
- project:
name: onos-gui
project-name: onos-gui
project: onos
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
- 'onos-1.10'
- 'onos-1.11'
- 'onos-1.12'
jobs:
- 'onos-gui-{stream}-verify'
- project:
name: onos-yang-tools
project-name: onos-yang-tools
project: onos-yang-tools
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
jobs:
- 'onos-yang-tools-{stream}-verify'
- project:
name: onos-app-samples
project-name: onos-app-samples
project: onos-app-samples
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
jobs:
- 'onos-app-samples-{stream}-verify'
- project:
name: onos-loxi
project-name: onos-loxi
project: onos-loxi
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
jobs:
- 'onos-loxi-{stream}-verify'
- project:
name: onos-release
project-name: onos-release
project: onos
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
jobs:
- 'onos-{stream}-release-build-verify'
- project:
name: onos-maven-verify
project-name: onos-maven-verify
project: onos
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
jobs:
- 'onos-{stream}-maven-verify'
- project:
name: onos-sonar
project-name: onos-sonar
project: onos
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream:
- 'master'
jobs:
- 'onos-{stream}-sonar'
- project:
name: onos-release-build
project-name: onos-release-build
project: onos
build-timeout: '1800'
build-node: 'ubuntu16.04-basebuild-8c-15g'
stream: 'master'
jobs:
- 'onos-release-build'