blob: 72004dc8d145a8ea6c7a43d00987cc78bafe719a [file] [log] [blame]
---
- 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'
pattern: '**'
script: ''
golangver: 'golang110'
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:
- '{golangver}'
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-submitted:
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}'
- shell: |
#!/bin/bash
cd $WORKSPACE/{path}
make build
- shell: '{script}'
publishers:
- 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'
path: $WORKSPACE
golangver: 'golang110'
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:
- '{golangver}'
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-merged:
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}'
- shell: |
#!/bin/bash
cd $WORKSPACE/{path}
make deploy
publishers:
- 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