X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-templates-golang.yaml;h=29b19d9cbd2a66155cb65a87bfd6f6dc8d4c33cb;hb=ac36df3491c4f36d1905239cfa2b3c5c63358620;hp=82eae4851bb00d94537b82a682eeab083cb814ff;hpb=b1d636274501322cccd9e8d9bd3ca1ea4d5ba579;p=ci-management.git diff --git a/jjb/global-templates-golang.yaml b/jjb/global-templates-golang.yaml index 82eae4851..29b19d9cb 100644 --- a/jjb/global-templates-golang.yaml +++ b/jjb/global-templates-golang.yaml @@ -1,64 +1,80 @@ --- -- 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 @@ -66,58 +82,118 @@ # 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 + - 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