blob: 991ffd69a45de45cacc23f42d703d40e0c048589 [file] [log] [blame]
---
# vim: sw=2 ts=2 sts=2 et :
- job-template:
# Job template for verifying a submission. triggered on
# gerrit-trigger-patch-submitted, does scm, mvn with passed in goals,
# then run script
#
# Required Variables:
# branch: git branch
# script: build script to execute
# mvn-settings: settings file for this specific job
# mvn-goals: space separated list of maven build goals (e.g.
# clean, install etc, --version for noop)
name: '{project-name}-{stream}-verify-scm-mvn-script'
project-type: freestyle
concurrent: true
node: 'ubuntu1604-docker-8c-8g'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-submitted:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- docker-login
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for merging a submission. triggered on
# gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then
# run script
# Required Variables:
# branch: git branch
# script: build script to execute
# mvn-settings: settings file for this specific job
# mvn-goals: space separated list of maven build goals (--version
# for noop, clean deploy for deploy [snapshot])
name: '{project-name}-{stream}-merge-scm-mvn-script'
project-type: freestyle
node: 'ubuntu1604-docker-8c-8g'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-merged:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- docker-login
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for daily-release a submission. triggered on timer, does
# scm mvn with passed-in goals, then run script
#
# Required Variables:
# branch: git branch
# script: build script to execute
# mvn-goals-versioning: space separated list of maven build goals
# (--version for no op,
# or versions:set versions:update-child-modules versions:commit)
# mvn-goals: space separated list of maven build goals (--version for
# noop, or clean deploy)
name: '{project-name}-{stream}-daily-release-scm-mvn-script'
project-type: freestyle
concurrent: true
node: 'ubuntu1604-docker-8c-8g'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
# 11 AM UTC
- timed: 'H 11 * * *'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- inject:
properties-file: version.properties
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals-versioning}'
properties:
- 'newVersion=${{release_version}}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
properties:
- '{maven-deploy-properties}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- docker-login
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for daily-release a submission. triggered on timer, does
# scm mvn with passed-in goals, then run script.
# Version changed using include-update-pom-versions.sh script
#
# Required Variables:
# branch: git branch
# script: build script to execute
# mvn-goals: space separated list of maven build goals (--version for
# noop, or clean deploy)
name: '{project-name}-{stream}-daily-release-version2-scm-mvn-script'
project-type: freestyle
concurrent: true
node: 'ubuntu1604-docker-8c-8g'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
# 11 AM UTC
- timed: 'H 11 * * *'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- inject:
properties-file: version.properties
- shell: !include-raw-escape: include-update-pom-versions.sh
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
properties:
- '{maven-deploy-properties}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- docker-login
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for verifying a submission. triggered on
# gerrit-trigger-patch-submitted,
# does scm 2 repos, mvn with passed-in goals, then run script
#
# Required Variables:
# branch: git branch
# script: build script to execute
# extra-project: extra gerrit project to checkout
# extra-refspec: refspec for the extra project
# extra-branch: branch to checkout for the extra project
# checkout-dir: directory to checkout the extra project to
# DO NOT SET THIS TO anything that translates to
# $WORKSPACE as it will destroy the initial
# project checkout
# mvn-goals: space separated list of maven build goals (e.g.
# clean, install etc, --version for noop)
name: '{project-name}-{stream}-verify-2scm-mvn-script'
project-type: freestyle
concurrent: true
node: 'ubuntu1604-docker-8c-8g'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
submodule-recursive: '{submodule-recursive}'
- git-extra-project:
project: '{extra-project}'
refspec: '{extra-refspec}'
branch: '{extra-branch}'
checkout-dir: '{checkout-dir}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-submitted:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- docker-login
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for merged submission. triggered on
# gerrit-trigger-patch-merged,does scm of 2 repos, mvn with passed in
# goals, then run script
#
# Required Variables:
# branch: git branch
# script: build script to execute
# extra-project: extra gerrit project to checkout
# extra-refspec: refspec for the extra project
# extra-branch: branch to checkout for the extra project
# checkout-dir: directory to checkout the extra project to
# DO NOT SET THIS TO anything that translates to
# $WORKSPACE as it will destroy the initial
# project checkout
# mvn-goals: space separated list of maven build goals (--version
# for noop, clean deploy for mvn project)
name: '{project-name}-{stream}-merge-2scm-mvn-script'
project-type: freestyle
concurrent: true
node: 'ubuntu1604-docker-8c-8g'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
- git-extra-project:
project: '{extra-project}'
refspec: '{extra-refspec}'
branch: '{extra-branch}'
checkout-dir: '{checkout-dir}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-merged:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- docker-login
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for merged submission. triggered on
# gerrit-trigger-patch-merged, does scm x2, mvn with passed-in goals,
# then run script
#
# Required Variables:
# branch: git branch
# script: build script to execute
# extra-project: extra gerrit project to checkout
# extra-refspec: refspec for the extra project
# extra-branch: branch to checkout for the extra project
# checkout-dir: directory to checkout the extra project to
# DO NOT SET THIS TO anything that translates to
# $WORKSPACE as it will destroy the initial
# project checkout
# mvn-goals: space separated list of maven build goals (--version
# for noop, clean deploy for mvn project)
# mvn-goals-versioning: space separated list of maven build goals
# (--version for no op, clean deploy for mvn project)
name: '{project-name}-{stream}-daily-release-2scm-mvn-script'
project-type: freestyle
node: 'ubuntu1604-docker-8c-8g'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
- git-extra-project:
project: '{extra-project}'
refspec: '{extra-refspec}'
branch: '{extra-branch}'
checkout-dir: '{checkout-dir}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- timed: 'H 11 * * *'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- inject:
properties-file: version.properties
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals-versioning}'
properties:
- 'newVersion=${{release_version}}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- docker-login
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for basic scm and script trigger
#
# Required Variables:
# branch: git branch
# build-node: what build node to run on
# script: build script to execute
name: '{project-name}-{stream}-verify-script'
project-type: freestyle
concurrent: true
node: '{build-node}'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-submitted:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
# make sure maven gets installed / setup
- maven-target:
maven-version: '{maven-version}'
goals: '--version'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for 2 scm and script trigger
#
# Required Variables:
# branch: git branch
# build-node: what build node to run on
# script: build script to execute
# extra-project: extra gerrit project to checkout
# extra-refspec: refspec for the extra project
# extra-branch: branch to checkout for the extra project
# checkout-dir: directory to checkout the extra project to
# DO NOT SET THIS TO anything that translates to
# $WORKSPACE as it will destroy the initial
# project checkout
name: '{project-name}-{stream}-two-scm-verify-script'
project-type: freestyle
concurrent: true
node: '{build-node}'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
submodule-recursive: '{submodule-recursive}'
- git-extra-project:
project: '{extra-project}'
refspec: '{extra-refspec}'
branch: '{extra-branch}'
checkout-dir: '{checkout-dir}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-submitted:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
# make sure maven gets installed / setup
- maven-target:
maven-version: '{maven-version}'
goals: '--version'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for 3 scm and script trigger
#
# Required Variables:
# branch: git branch
# build-node: what build node to run on
# script: build script to execute
# extra-project1: extra gerrit project to checkout
# extra-refspec1: refspec for the extra project
# extra-branch1: branch to checkout for the extra project
# checkout-dir1: directory to checkout the extra project to
# DO NOT SET THIS TO anything that translates to
# $WORKSPACE as it will destroy the initial
# project checkout
# extra-project2: extra gerrit project to checkout
# extra-refspec2: refspec for the extra project
# extra-branch2: branch to checkout for the extra project
# checkout-dir2: directory to checkout the extra project to
# DO NOT SET THIS TO anything that translates to
# $WORKSPACE as it will destroy the initial
# project checkout
name: '{project-name}-{stream}-three-scm-verify-script'
project-type: freestyle
concurrent: true
node: '{build-node}'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
submodule-recursive: '{submodule-recursive}'
- git-extra-project:
project: '{extra-project1}'
refspec: '{extra-refspec1}'
branch: '{extra-branch1}'
checkout-dir: '{checkout-dir1}'
- git-extra-project:
project: '{extra-project2}'
refspec: '{extra-refspec2}'
branch: '{extra-branch2}'
checkout-dir: '{checkout-dir2}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-submitted:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
# make sure maven gets installed / setup
- maven-target:
maven-version: '{maven-version}'
goals: '--version'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
# vim: sw=2 ts=2 sts=2 et :
- job-template:
# Job template for two scm and script trigger - for docker merge
#
# Required Variables:
# branch: git branch
# build-node: what build node to run on
# script: build script to execute
name: '{project-name}-{stream}-two-scm-merge-docker-script'
project-type: freestyle
concurrent: true
node: '{build-node}'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
- git-extra-project:
project: '{extra-project}'
refspec: '{extra-refspec}'
branch: '{extra-branch}'
checkout-dir: '{checkout-dir}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-merged:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- docker-login
# make sure maven gets installed / setup
- maven-target:
maven-version: '{maven-version}'
goals: '--version'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for two scm and script trigger - for docker daily release
#
# Required Variables:
# branch: git branch
# build-node: what build node to run on
# script: build script to execute
name: '{project-name}-{stream}-two-scm-release-docker-script-manual'
project-type: freestyle
concurrent: true
node: '{build-node}'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
- git-extra-project:
project: '{extra-project}'
refspec: '{extra-refspec}'
branch: '{extra-branch}'
checkout-dir: '{checkout-dir}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- docker-login
# make sure maven gets installed / setup
- maven-target:
maven-version: '{maven-version}'
goals: '--version'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# 1. PULL the desired image
# 2. TAG it to the desired release name
# 3. PUSH the newly tagged image on release repo
name: '{project-name}-docker-image-blessing'
project-type: freestyle
concurrent: true
node: 'ubuntu1604-docker-8c-8g'
parameters:
- string:
name: X
description: "x VERSION of the STAGING image to bless into this RELEASE VERSION
Example : 1"
- string:
name: Y
description: "y VERSION of the STAGING image to bless into this RELEASE VERSION
Example : 2"
- string:
name: Z
description: "z VERSION of the RELEASE VERSION
Example : 3"
- string:
name: PROJECT
default: '{project}'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
builders:
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- docker-login
- shell: !include-raw: include-docker-blessing.sh
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'