blob: 0e5986ab527fa2d0c47f7ee9437de43854130f84 [file] [log] [blame]
---
############
# BUILDERS #
############
- builder:
name: oom-create-netrc
builders:
- inject:
properties-content: "SERVER_ID={server-id}"
- shell: !include-raw-escape: ../shell/oom-create-netrc.sh
###########
# ANCHORS #
###########
- helm_job_boiler_plate: &helm_job_boiler_plate
name: helm_job_boiler_plate
######################
# Default parameters #
######################
branch: master
submodule-recursive: true
# default params for helm jobs
build_script: ''
git-url: '$GIT_URL/$PROJECT'
post_build_script: ''
pre_build_script: ''
submodule-disable: false
submodule-timeout: 10
build-timeout: 240
#####################
# Job Configuration #
#####################
project-type: freestyle
node: '{build-node}'
properties:
- lf-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- lf-infra-parameters:
branch: '{branch}'
project: '{project}'
stream: '{stream}'
lftools-version: '{lftools-version}'
wrappers:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
publishers:
- lf-infra-publish
#################
# JOB TEMPLATES #
#################
- job-template:
name: '{project-name}-{stream}-verify-{helm_bin}'
# Job template for helm verify jobs
<<: *helm_job_boiler_plate
concurrent: true
scm:
- gerrit-trigger-scm:
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
submodule-recursive: '{submodule-recursive}'
triggers:
- gerrit-trigger-helm-patch-submitted:
status-context: '{project}-Helm-Verify'
server: '{server-name}'
project: '{project}'
branch: '{branch}'
helm_bin: '{helm_bin}'
files: '{files}'
builders:
- lf-infra-pre-build
- shell: |
echo "export HELM_BIN={helm_bin}" > helm.prop
- shell: '{obj:pre_build_script}'
- shell: '{obj:build_script}'
- job-template:
name: '{project-name}-{stream}-merge-helm'
# Job template for Helm merge jobs
<<: *helm_job_boiler_plate
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
triggers:
- gerrit-trigger-helm-patch-merged:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '{files}'
builders:
- lf-infra-pre-build
- lf-provide-maven-settings:
global-settings-file: '{mvn-global-settings}'
settings-file: '{mvn-settings}'
- shell: |
echo "export HELM_BIN=helm3.5" > helm.prop
- shell: '{obj:pre_build_script}'
- shell: '{obj:build_script}'
- oom-create-netrc:
server-id: oom-helm
- inject:
properties-content: |
BUILD_TYPE=snapshot
- shell: '{obj:post_build_script}'
- lf-provide-maven-settings-cleanup
- job-template:
name: '{project-name}-{stream}-verify-external-helm'
# Job template for helm verify jobs
<<: *helm_job_boiler_plate
parameters:
- lf-infra-parameters:
branch: '{branch}'
project: 'oom'
stream: '{stream}'
lftools-version: '{lftools-version}'
scm:
- lf-infra-gerrit-scm:
jenkins-ssh-credential: '{jenkins-ssh-credential}'
git-url: '{git-url}'
refspec: '$GERRIT_BRANCH'
branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
submodule-timeout: '{submodule-timeout}'
submodule-disable: '{submodule-disable}'
choosing-strategy: default
triggers:
- gerrit-trigger-helm-patch-submitted:
status-context: '{project}-Helm-Verify'
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '{files}'
builders:
- lf-infra-pre-build
- inject:
properties-content: 'HELM_MODULE={helm-module}'
- shell: !include-raw-escape: shell/apply-submodule-patch-oom.sh
- shell: |
echo "export HELM_BIN=helm3.5" > helm.prop
- shell: '{obj:pre_build_script}'
- shell: '{obj:build_script}'
- job-template:
name: '{project-name}-{stream}-merge-external-helm'
# Job template for Helm merge jobs
<<: *helm_job_boiler_plate
parameters:
- lf-infra-parameters:
branch: '{branch}'
project: 'oom'
stream: '{stream}'
lftools-version: '{lftools-version}'
scm:
- lf-infra-gerrit-scm:
jenkins-ssh-credential: '{jenkins-ssh-credential}'
git-url: '{git-url}'
refspec: '$GERRIT_BRANCH'
branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
submodule-timeout: '{submodule-timeout}'
submodule-disable: '{submodule-disable}'
choosing-strategy: default
triggers:
- gerrit-trigger-helm-patch-merged:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '{files}'
builders:
- lf-infra-pre-build
- inject:
properties-content: 'HELM_MODULE={helm-module}'
- lf-provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- shell: |
echo "export HELM_BIN=helm3.5" > helm.prop
- shell: '{obj:pre_build_script}'
- shell: '{obj:build_script}'
- lf-infra-create-netrc:
server-id: oom-helm
- inject:
properties-content: |
BUILD_TYPE=snapshot
- shell: '{obj:post_build_script}'
- lf-provide-maven-settings-cleanup
- job-template:
name: '{project-name}-{stream}-release-helm'
# Job template for Helm stage jobs
<<: *helm_job_boiler_plate
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
triggers:
- gerrit:
trigger-on:
- comment-added-contains-event:
comment-contains-value: '^Patch Set\s+\d+:\s+release-helm\s*$'
builders:
- lf-infra-pre-build
- lf-provide-maven-settings:
global-settings-file: '{mvn-global-settings}'
settings-file: '{mvn-settings}'
- shell: |
echo "export HELM_BIN=helm3.5" > helm.prop
- shell: '{obj:pre_build_script}'
- shell: '{obj:build_script}'
- lf-infra-create-netrc:
server-id: oom-helm
- inject:
properties-content: |
BUILD_TYPE=release
- shell: '{obj:post_build_script}'
- lf-provide-maven-settings-cleanup
- job-template:
name: '{project-name}-{subproject}-{stream}-verify-helm'
# Job template for helm verify jobs
<<: *helm_job_boiler_plate
disabled: true
builders:
- lf-infra-pre-build
- shell: |
echo "export HELM_BIN=helm3.5" > helm.prop
- shell: '{pre_build_script}'
- shell: '{build_script}'
- shell: '{post_build_script}'
- job-template:
name: '{project-name}-{subproject}-{stream}-merge-helm'
# Job template for helm merge jobs
<<: *helm_job_boiler_plate
disabled: true
builders:
- lf-infra-pre-build
- shell: |
echo "export HELM_BIN=helm3.5" > helm.prop
- shell: '{pre_build_script}'
- shell: '{build_script}'
- inject:
properties-content: |
BUILD_TYPE=snapshot
- shell: '{post_build_script}'
- job-template:
name: '{project-name}-{stream}-update-helm-weekly'
# Job template for weekly helm update jobs
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
<<: *helm_job_boiler_plate
disabled: true
scm:
- lf-infra-gerrit-scm:
jenkins-ssh-credential: '{jenkins-ssh-credential}'
git-url: '$GIT_URL/$PROJECT'
refspec: '$GERRIT_REFSPEC'
branch: '$GERRIT_BRANCH'
submodule-recursive: true
submodule-timeout: '{submodule-timeout}'
submodule-disable: '{submodule-disable}'
choosing-strategy: default
builders:
- lf-infra-pre-build
- shell: |
echo "export HELM_BIN=helm3.5" > helm.prop
- shell: '{pre_build_script}'
- shell: '{build_script}'
- shell: '{post_build_script}'
triggers:
# 11 AM UTC
- timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'