--- ############ # 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}'