JJB templates for golang 37/31137/2
authorKiran <kiran.k.kamineni@intel.com>
Fri, 9 Feb 2018 23:34:47 +0000 (15:34 -0800)
committerKiran <kiran.k.kamineni@intel.com>
Mon, 12 Feb 2018 21:34:13 +0000 (13:34 -0800)
Adding a golang template to support golang builds
This template supports verify and merge jobs right now
Verify calls make build and merge calls make deploy.
These calls are made in the path provided by the specific jjb file

Issue-ID: AAF-117
Change-Id: I369c0868389d8ed52ac7c82da5ef6d249e64eb7c
Signed-off-by: Kiran <kiran.k.kamineni@intel.com>
jjb/aaf/aaf-sms.yaml [new file with mode: 0644]
jjb/global-templates-golang.yaml [new file with mode: 0644]

diff --git a/jjb/aaf/aaf-sms.yaml b/jjb/aaf/aaf-sms.yaml
new file mode 100644 (file)
index 0000000..0cec006
--- /dev/null
@@ -0,0 +1,16 @@
+---
+- project:
+    name: aaf-sms
+    project-name: 'aaf-sms'
+    path: 'sms-service/src/sms'
+    jobs:
+      - '{project-name}-{stream}-verify-golang'
+      - '{project-name}-{stream}-merge-golang'
+    project: 'aaf/sms'
+    stream:
+      - 'master':
+          branch: 'master'
+    mvn-settings: 'aaf-sms-settings'
+    files: '**'
+    archive-artifacts: ''
+    build-node: ubuntu1604-basebuild-4c-4g
\ No newline at end of file
diff --git a/jjb/global-templates-golang.yaml b/jjb/global-templates-golang.yaml
new file mode 100644 (file)
index 0000000..73ebcd2
--- /dev/null
@@ -0,0 +1,123 @@
+---
+- job-template:
+    # Job template for Golang verify jobs
+    #
+    # The purpose of this job template is to run:
+    # 1. make build
+    #
+    # Required Variables:
+    #     branch:    git branch (eg. stable/lithium or master)
+
+    name: '{project-name}-{stream}-verify-golang'
+    path: '$WORKSPACE'
+
+    project-type: freestyle
+    concurrent: true
+    node: '{build-node}'
+
+    properties:
+      - infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+          submodule-recursive: '{submodule-recursive}'
+
+    wrappers:
+      - infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-submitted:
+          server: '{server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '**'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - shell: |
+          #!/bin/bash
+          curl -O https://dl.google.com/go/go1.9.4.linux-amd64.tar.gz
+          tar -zxf go1.9.4.linux-amd64.tar.gz
+          export GOROOT=$WORKSPACE/go
+          export PATH=$PATH:$GOROOT/bin
+          cd $WORKSPACE/{path}
+          make build
+
+    publishers:
+      - infra-shiplogs:
+          maven-version: '{maven-version}'
+
+- job-template:
+    # Job template for Golang merge jobs
+    #
+    # The purpose of this job template is to run:
+    # 1. make deploy
+    #
+    # Required Variables:
+    #     branch:    git branch (eg. stable/lithium or master)
+
+    name: '{project-name}-{stream}-merge-golang'
+    path: $WORKSPACE
+
+    project-type: freestyle
+    node: '{build-node}'
+
+    properties:
+      - infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+      - maven-exec:
+          maven-version: '{maven-version}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: ''
+          choosing-strategy: 'default'
+          submodule-recursive: '{submodule-recursive}'
+
+    wrappers:
+      - infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-merged:
+          server: '{server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '**'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - shell: |
+          #!/bin/bash
+          curl -O https://dl.google.com/go/go1.9.4.linux-amd64.tar.gz
+          tar -zxf go1.9.4.linux-amd64.tar.gz
+          export GOROOT=$PWD/go
+          export PATH=$PATH:$GOROOT/bin
+          cd $WORKSPACE/{path}
+          make deploy
+
+    publishers:
+      - infra-shiplogs:
+          maven-version: '{maven-version}'