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