---
+############
+# BUILDERS #
+############
+
+- builder:
+ name: oom-create-netrc
+ builders:
+ - inject:
+ properties-content: "SERVER_ID={server-id}"
+ - shell: !include-raw-escape: ../shell/helm/oom-create-netrc.sh
+
+- builder:
+ name: helm-install
+ builders:
+ - inject:
+ properties-content: "HELM_VER={helm_ver}"
+ - shell: !include-raw-escape: ../shell/helm/helm-install.sh
+
###########
# ANCHORS #
###########
-- helm_job_boiler_plate: &helm_job_boiler_plate
+- _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-recursive: true
- submodule-timeout: 10
+ build_script: ""
+ git-url: "$GIT_URL/$PROJECT"
+ post_build_script: ""
+ pre_build_script: ""
+ build-timeout: 240
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- branch: '{branch}'
- project: '{project}'
- stream: '{stream}'
- lftools-version: '{lftools-version}'
+ branch: "{branch}"
+ project: "{project}"
+ stream: "{stream}"
+ lftools-version: "{lftools-version}"
+ - string:
+ name: HELM_BIN
+ default: "{helm_bin|helm3.8}"
+ - string:
+ name: BUILD_TYPE
+ default: "{build_type|snapshot}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+ builders:
+ - lf-infra-pre-build
+ - lf-provide-maven-settings:
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
+ - shell: "{obj:pre_build_script}"
+ - shell: "{obj:build_script}"
+ - oom-create-netrc:
+ server-id: oom-helm
+ - shell: "{obj:post_build_script}"
+ - lf-provide-maven-settings-cleanup
publishers:
- lf-infra-publish
# JOB TEMPLATES #
#################
- job-template:
- name: '{project-name}-{stream}-verify-helm'
+ name: "{project-name}-{stream}-verify-{helm_bin}"
# Job template for helm verify jobs
<<: *helm_job_boiler_plate
scm:
- gerrit-trigger-scm:
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
- submodule-recursive: '{submodule-recursive}'
+ 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}'
- files: '{files}'
-
- builders:
- - lf-infra-pre-build
- - shell: '{obj:pre_build_script}'
- - shell: '{obj:build_script}'
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ files: "{files}"
- job-template:
- name: '{project-name}-{stream}-merge-helm'
+ 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}'
+ 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: '{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
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ files: "{files}"
- job-template:
- name: '{project-name}-{stream}-verify-external-helm'
- # Job template for helm verify jobs
+ name: "{project-name}-{stream}-release-helm"
+ # Job template for Helm stage 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: '{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
+ - 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
- - inject:
- properties-content: 'HELM_MODULE={helm-module}'
- - lf-provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
- - 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
+ - gerrit:
+ server-name: "{gerrit-server-name}"
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: '^Patch Set\s+\d+:\s+release-helm\s*$'
+ projects:
+ - project-compare-type: "ANT"
+ project-pattern: "{project}"
+ branches:
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
+ file-paths:
+ - compare-type: "ANT"
+ pattern: "**"
- job-template:
- name: '{project-name}-{stream}-stage-helm'
- # Job template for Helm stage jobs
+ name: "{project-name}-{stream}-verify-make-{helm_bin}"
<<: *helm_job_boiler_plate
scm:
- gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
+ refspec: ""
+ choosing-strategy: "default"
+ submodule-recursive: "{submodule-recursive}"
triggers:
- - pollscm:
- cron: '0 22 * * *'
- gerrit:
+ server-name: "{gerrit-server-name}"
trigger-on:
- comment-added-contains-event:
- comment-contains-value: '^stage-helm$'
+ comment-contains-value: '^Patch Set\s+\d+:\s+helm-latest\s*$'
+ projects:
+ - project-compare-type: "ANT"
+ project-pattern: "{project}"
+ branches:
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
+ file-paths:
+ - compare-type: "ANT"
+ pattern: "**"
builders:
- lf-infra-pre-build
- - lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
- - shell: '{obj:pre_build_script}'
- - shell: '{obj:build_script}'
- - lf-infra-create-netrc:
- server-id: oom-helm
- - inject:
- properties-content: |
- BUILD_TYPE=staging
- - 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: '{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: '{pre_build_script}'
- - shell: '{build_script}'
- - 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: '{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}'
-
+ - helm-install:
+ helm_ver: 3.10.2
+ - shell: "{obj:pre_build_script}"
+ - shell: "{obj:build_script}"