---
- job-template:
    # 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:
      - 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
    #
    # 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:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- 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: 'ubuntu1604-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:
      - infra-shiplogs:
          maven-version: '{maven-version}'
