Chore: Move to centos8-builder
[ci-management.git] / jjb / global-templates-helm.yaml
index d581108..7b74b0e 100644 (file)
@@ -8,7 +8,14 @@
     builders:
       - inject:
           properties-content: "SERVER_ID={server-id}"
-      - shell: !include-raw-escape: ../shell/oom-create-netrc.sh
+      - 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 #
     ######################
     # 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
 
     #####################
           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}'
 
+    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
 
 
     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
           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
+    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'
+      - gerrit-trigger-scm:
+          refspec: ''
+          choosing-strategy: 'default'
           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}'
-      - oom-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}-release-helm'
-    # Job template for Helm stage jobs
+    name: '{project-name}-{stream}-verify-make-{helm_bin}'
 
     <<: *helm_job_boiler_plate
 
           server-name: '{gerrit-server-name}'
           trigger-on:
             - comment-added-contains-event:
-                comment-contains-value: '^Patch Set\s+\d+:\s+release-helm\s*$'
+                comment-contains-value: '^Patch Set\s+\d+:\s+helm-latest\s*$'
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{project}'
 
     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
+      - helm-install:
+          helm_ver: 3.10.2
       - shell: '{obj:pre_build_script}'
       - shell: '{obj:build_script}'
-      - oom-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}'