[CPS] Jobs for newdelhi branch
[ci-management.git] / jjb / global-templates-script.yaml
index 9264bc9..31db6d5 100644 (file)
@@ -1,69 +1,56 @@
 ---
-# vim: sw=2 ts=2 sts=2 et :
-
 - job-template:
-    # Job template for merging a submission.  triggered on
-    # gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then
-    # run script
+    #
+    # job template for verifying gerrit changeset by shell script
+    #
     # Required Variables:
-    #   branch:         git branch
+    #   project-name:   name of project
+    #   area:           area of project covered with this verification job
+    #   project:        name of scm repository to work on
+    #   stream:         name of stream used (set the same as branch if you're not sure)
+    #   branch:         git branch to work on
     #   script:         build script to execute
-    #   mvn-settings:   settings file for this specific job
-    #   mvn-goals:      space separated list of maven build goals (--version
-    #                   for noop, clean deploy for deploy [snapshot])
-    name: '{project-name}-{stream}-merge-scm-mvn-script'
-
-    project-type: freestyle
-    node: 'ubuntu1604-docker-8c-8g'
+    # Optional Variables:
+    #   pattern:          trigger job only if modification covered file in pattern
+    #   build-node:     label(flavor) of jenkins slave
+    name: "{project-name}-{stream}-{area}-verify-shell"
+    node: "{build-node}"
+    type: freestyle
+    concurrent: true
+    disable-job: false
+    disabled: "{disable-job}"
 
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+    pattern: "**"
 
     parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
+      - lf-infra-parameters:
+          branch: "{branch}"
+          project: "{project}"
+          stream: "{stream}"
+          lftools-version: "{lftools-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: "$GERRIT_REFSPEC"
+          submodule-recursive: "{submodule-recursive}"
+          choosing-strategy: "gerrit"
+
+    triggers:
+      - gerrit-trigger-patch-submitted:
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
+          files: "{pattern}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
+          build-timeout: "{build-timeout}"
 
     builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: '{maven-version}'
-          goals: '{mvn-goals}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - docker-login
-      - shell: '{script}'
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
-
+      - lf-infra-publish
 
 - job-template:
     # Job template for 2 scm and script trigger
     #                     $WORKSPACE as it will destroy the initial
     #                     project checkout
 
-    name: '{project-name}-{stream}-two-scm-verify-script'
+    name: "{project-name}-{stream}-two-scm-verify-script"
 
     project-type: freestyle
     concurrent: true
-    node: '{build-node}'
+    node: "{build-node}"
 
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: "$GERRIT_REFSPEC"
+          choosing-strategy: "gerrit"
+          submodule-recursive: "{submodule-recursive}"
       - git-extra-project:
-          project: '{extra-project}'
-          refspec: '{extra-refspec}'
-          branch: '{extra-branch}'
-          checkout-dir: '{checkout-dir}'
+          project: "{extra-project}"
+          refspec: "{extra-refspec}"
+          branch: "{extra-branch}"
+          checkout-dir: "{checkout-dir}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
+          files: "**"
 
     builders:
+      - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
       # make sure maven gets installed / setup
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: '--version'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          goals: "--version"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
-      - shell: '{script}'
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
-
-
-
-# vim: sw=2 ts=2 sts=2 et :
+      - lf-infra-publish
 
 - job-template:
     # Job template for two scm and script trigger - for docker merge
     #   build-node:     what build node to run on
     #   script:         build script to execute
 
-    name: '{project-name}-{stream}-two-scm-merge-docker-script'
+    name: "{project-name}-{stream}-two-scm-merge-docker-script"
 
     project-type: freestyle
     concurrent: true
-    node: '{build-node}'
+    node: "{build-node}"
 
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
       - git-extra-project:
-          project: '{extra-project}'
-          refspec: '{extra-refspec}'
-          branch: '{extra-branch}'
-          checkout-dir: '{checkout-dir}'
+          project: "{extra-project}"
+          refspec: "{extra-refspec}"
+          branch: "{extra-branch}"
+          checkout-dir: "{checkout-dir}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
+          files: "**"
 
     builders:
+      - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
       - docker-login
       # make sure maven gets installed / setup
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: '--version'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          goals: "--version"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
-      - shell: '{script}'
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for two scm and script trigger - for docker daily release
     #   build-node:     what build node to run on
     #   script:         build script to execute
 
-    name: '{project-name}-{stream}-two-scm-release-docker-script-manual'
+    name: "{project-name}-{stream}-two-scm-release-docker-script-manual"
 
     project-type: freestyle
     concurrent: true
-    node: '{build-node}'
+    node: "{build-node}"
 
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
       - git-extra-project:
-          project: '{extra-project}'
-          refspec: '{extra-refspec}'
-          branch: '{extra-branch}'
-          checkout-dir: '{checkout-dir}'
+          project: "{extra-project}"
+          refspec: "{extra-refspec}"
+          branch: "{extra-branch}"
+          checkout-dir: "{checkout-dir}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
+      - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
       - docker-login
       # make sure maven gets installed / setup
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: '--version'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          goals: "--version"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
-      - shell: '{script}'
-
-    publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
-
-- job-template:
-    # 1. PULL the desired image
-    # 2. TAG it to the desired release name
-    # 3. PUSH the newly tagged image on release repo
-
-    name: '{project-name}-docker-image-blessing'
-
-    project-type: freestyle
-    concurrent: true
-    node: 'ubuntu1604-docker-8c-8g'
-
-    parameters:
-      - string:
-          name: X
-          description: "x VERSION of the STAGING image to bless into this RELEASE VERSION
-            Example : 1"
-      - string:
-          name: Y
-          description: "y VERSION of the STAGING image to bless into this RELEASE VERSION
-            Example : 2"
-      - string:
-          name: Z
-          description: "z VERSION of the RELEASE VERSION
-            Example : 3"
-      - string:
-          name: PROJECT
-          default: '{project}'
-
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - docker-login
-      - shell: !include-raw: include-docker-blessing.sh
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish