---
-# vim: sw=2 ts=2 sts=2 et :
-
- job-template:
- # Job template for merging a submission. triggered on
- # gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then
- # run script
+ #
+ # job template for verifying gerrit changeset by shell script
+ #
# Required Variables:
- # branch: git branch
+ # project-name: name of project
+ # area: area of project covered with this verification job
+ # project: name of scm repository to work on
+ # stream: name of stream used (set the same as branch if you're not sure)
+ # branch: git branch to work on
# 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'
+ # Optional Variables:
+ # pattern: trigger job only if modification covered file in pattern
+ # build-node: label(flavor) of jenkins slave
+ name: "{project-name}-{stream}-{area}-verify-shell"
+ node: "{build-node}"
+ type: freestyle
+ concurrent: true
+ disable-job: false
+ disabled: "{disable-job}"
- properties:
- - infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ pattern: "**"
parameters:
- - infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - maven-exec:
- maven-version: '{maven-version}'
+ - lf-infra-parameters:
+ branch: "{branch}"
+ project: "{project}"
+ stream: "{stream}"
+ lftools-version: "{lftools-version}"
scm:
- gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
+ refspec: "$GERRIT_REFSPEC"
+ submodule-recursive: "{submodule-recursive}"
+ choosing-strategy: "gerrit"
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ files: "{pattern}"
wrappers:
- infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- - gerrit-trigger-patch-merged:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
- files: '**'
+ build-timeout: "{build-timeout}"
builders:
- - lf-infra-pre-build
- - 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}'
+ - shell: "{script}"
publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-
+ - lf-infra-publish
- job-template:
# Job template for 2 scm and script trigger
# $WORKSPACE as it will destroy the initial
# project checkout
- name: '{project-name}-{stream}-two-scm-verify-script'
+ name: "{project-name}-{stream}-two-scm-verify-script"
project-type: freestyle
concurrent: true
- node: '{build-node}'
+ node: "{build-node}"
properties:
- infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
+ project: "{project}"
+ branch: "{branch}"
+ refspec: "refs/heads/{branch}"
+ artifacts: "{archive-artifacts}"
- maven-exec:
- maven-version: '{maven-version}'
+ maven-version: "{maven-version}"
scm:
- gerrit-trigger-scm:
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
- submodule-recursive: '{submodule-recursive}'
+ 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}'
+ project: "{extra-project}"
+ refspec: "{extra-refspec}"
+ branch: "{extra-branch}"
+ checkout-dir: "{checkout-dir}"
wrappers:
- infra-wrappers:
- build-timeout: '{build-timeout}'
+ build-timeout: "{build-timeout}"
triggers:
- gerrit-trigger-patch-submitted:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
- files: '**'
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ files: "**"
builders:
- lf-infra-pre-build
- provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-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}'
+ maven-version: "{maven-version}"
+ goals: "--version"
+ settings: "{mvn-settings}"
settings-type: cfp
- global-settings: 'global-settings'
+ global-settings: "global-settings"
global-settings-type: cfp
- - shell: '{script}'
+ - shell: "{script}"
publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-
-
-
-# vim: sw=2 ts=2 sts=2 et :
+ - lf-infra-publish
- job-template:
# Job template for two scm and script trigger - for docker merge
# build-node: what build node to run on
# script: build script to execute
- name: '{project-name}-{stream}-two-scm-merge-docker-script'
+ name: "{project-name}-{stream}-two-scm-merge-docker-script"
project-type: freestyle
concurrent: true
- node: '{build-node}'
+ node: "{build-node}"
properties:
- infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
+ project: "{project}"
+ branch: "{branch}"
+ refspec: "refs/heads/{branch}"
+ artifacts: "{archive-artifacts}"
- maven-exec:
- maven-version: '{maven-version}'
+ maven-version: "{maven-version}"
scm:
- gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
+ refspec: ""
+ choosing-strategy: "default"
+ submodule-recursive: "{submodule-recursive}"
- git-extra-project:
- project: '{extra-project}'
- refspec: '{extra-refspec}'
- branch: '{extra-branch}'
- checkout-dir: '{checkout-dir}'
+ project: "{extra-project}"
+ refspec: "{extra-refspec}"
+ branch: "{extra-branch}"
+ checkout-dir: "{checkout-dir}"
wrappers:
- infra-wrappers:
- build-timeout: '{build-timeout}'
+ build-timeout: "{build-timeout}"
triggers:
- gerrit-trigger-patch-merged:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
- files: '**'
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ files: "**"
builders:
- lf-infra-pre-build
- provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-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}'
+ maven-version: "{maven-version}"
+ goals: "--version"
+ settings: "{mvn-settings}"
settings-type: cfp
- global-settings: 'global-settings'
+ global-settings: "global-settings"
global-settings-type: cfp
- - shell: '{script}'
+ - shell: "{script}"
publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
+ - lf-infra-publish
- job-template:
# Job template for two scm and script trigger - for docker daily release
# build-node: what build node to run on
# script: build script to execute
- name: '{project-name}-{stream}-two-scm-release-docker-script-manual'
+ name: "{project-name}-{stream}-two-scm-release-docker-script-manual"
project-type: freestyle
concurrent: true
- node: '{build-node}'
+ node: "{build-node}"
properties:
- infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
+ project: "{project}"
+ branch: "{branch}"
+ refspec: "refs/heads/{branch}"
+ artifacts: "{archive-artifacts}"
- maven-exec:
- maven-version: '{maven-version}'
+ maven-version: "{maven-version}"
scm:
- gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
+ refspec: ""
+ choosing-strategy: "default"
+ submodule-recursive: "{submodule-recursive}"
- git-extra-project:
- project: '{extra-project}'
- refspec: '{extra-refspec}'
- branch: '{extra-branch}'
- checkout-dir: '{checkout-dir}'
+ project: "{extra-project}"
+ refspec: "{extra-refspec}"
+ branch: "{extra-branch}"
+ checkout-dir: "{checkout-dir}"
wrappers:
- infra-wrappers:
- build-timeout: '{build-timeout}'
+ build-timeout: "{build-timeout}"
triggers:
- gerrit-trigger-release-manually:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
builders:
- lf-infra-pre-build
- provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-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}'
+ maven-version: "{maven-version}"
+ goals: "--version"
+ settings: "{mvn-settings}"
settings-type: cfp
- global-settings: 'global-settings'
+ 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:
- - lf-infra-pre-build
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
- - docker-login
- - shell: !include-raw: include-docker-blessing.sh
+ - shell: "{script}"
publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
+ - lf-infra-publish