---
-- job-template:
+- job-template: &verify_golang_bolierplate
# Job template for Golang verify jobs
#
# The purpose of this job template is to run:
# 1. make build
#
+ # golangver can be set to golang110, golang111 or golang112
+ # depending on what version is needed by the project
+ # default is golang110
+ #
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
+ #
+ # Optional Variables:
+ # script: build script to execute
+ # pattern: ant file-path pattern relative to the workspace used to
+ # trigger the job
- name: '{project-name}-{stream}-verify-golang'
- path: '$WORKSPACE'
+ name: "{project-name}-{stream}-verify-golang"
+ path: "$WORKSPACE"
+ pattern: "**"
+ script: ""
+ golangver: "golang110"
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}"
scm:
- gerrit-trigger-scm:
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
- submodule-recursive: '{submodule-recursive}'
+ refspec: "$GERRIT_REFSPEC"
+ choosing-strategy: "gerrit"
+ submodule-recursive: "{submodule-recursive}"
wrappers:
+ - "{golangver}"
- 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: "{pattern}"
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}"
- shell: |
#!/bin/bash
- curl -O https://dl.google.com/go/go1.10.linux-amd64.tar.gz
- tar -zxf go1.10.linux-amd64.tar.gz
- export GOROOT=$WORKSPACE/go
- export PATH=$PATH:$GOROOT/bin
cd $WORKSPACE/{path}
make build
+ - shell: "{script}"
publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
+ - lf-infra-publish
+
+- job-template:
+ # Job template for Golang verify jobs with subproject support
+
+ <<: *verify_golang_bolierplate
+ name: "{project-name}-{stream}-{subproject}-verify-golang"
- job-template:
# Job template for Golang merge jobs
# The purpose of this job template is to run:
# 1. make deploy
#
+ # golangver can be set to golang110 or golang111
+ # depending on what version is needed by the project
+ # default is golang110
+ #
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
- name: '{project-name}-{stream}-merge-golang'
+ name: "{project-name}-{stream}-merge-golang"
path: $WORKSPACE
+ golangver: "golang110"
project-type: freestyle
- 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}"
wrappers:
+ - "{golangver}"
- 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}"
- 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}'
+ - lf-infra-publish
+
+- job-template:
+ # Job template for building & pushing docker images
+ #
+ # golangver can be set to golang110 or golang111
+ # depending on what version is needed by the project
+ # default is golang110
+ #
+ # The purpose of this job template is to run:
+ # 1. login to the docker registry
+ # 2. run a specified shell builder
+ #
+
+ name: "{project-name}-{stream}-docker-golang-shell-daily"
+ golangver: "golang110"
+ project-type: freestyle
+ node: "ubuntu1804-docker-8c-8g"
+ disabled: false
+ 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: ""
+ choosing-strategy: "default"
+ submodule-recursive: "{submodule-recursive}"
+
+ wrappers:
+ - "{golangver}"
+ - infra-wrappers:
+ build-timeout: "{build-timeout}"
+
+ triggers:
+ # 12 AM UTC
+ - timed: "@daily"
+ - gerrit-trigger-release-manually:
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+
+ builders:
+ - lf-infra-pre-build
+ - provide-maven-settings:
+ global-settings-file: "global-settings"
+ settings-file: "{mvn-settings}"
+
+ - docker-login
+
+ - shell: "{script}"
+
+ publishers:
+ - lf-infra-publish