From 724167b0fc12efba132bed0033ef1d98d68d940f Mon Sep 17 00:00:00 2001 From: Andrew Grimberg Date: Mon, 8 May 2017 11:28:49 -0700 Subject: [PATCH] Use anchors on JJB verify / merge job definitions We need a relatively easy way of keeping our Gerrit and GitHub verify and merge jobs in sync. Given that presently the only difference really should be the SCM and Trigger diffinitions for each of the job types, plus a bunch of shared boiler plate in document anchors make a good method for dealing with it. Issue: RELENG-106 Change-Id: I28dba9cd5e5535353d9bd4214e38fc4f8e34fc07 Signed-off-by: Andrew Grimberg --- jjb/lf-ci-jobs.yaml | 97 +++++++++++++++++++++-------------------------------- 1 file changed, 39 insertions(+), 58 deletions(-) diff --git a/jjb/lf-ci-jobs.yaml b/jjb/lf-ci-jobs.yaml index 722b5bcb..74eaee0c 100644 --- a/jjb/lf-ci-jobs.yaml +++ b/jjb/lf-ci-jobs.yaml @@ -31,6 +31,24 @@ - compare-type: ANT pattern: '**/*.yaml' +- lf_jjb_merge_builders: &lf_jjb_merge_builders + name: lf-jjb-merge-builders + builders: + - lf-infra-jjbini + - shell: !include-raw-escape: + - ../shell/jjb-install.sh + - ../shell/jjb-merge-job.sh + +- lf_jjb_verify_builders: &lf_jjb_verify_builders + name: lf-jjb-verfy-builders + builders: + - lf-infra-jjbini + - shell: !include-raw-escape: + - ../shell/jjb-install.sh + - ../shell/jjb-verify-job.sh + - ../shell/jjb-check-unicode.sh + - gpg-verify-git-signature + - parameter: name: lf-infra-jjb-parameters parameters: @@ -43,8 +61,10 @@ # Job Templates # ################# -- job-template: - name: '{project-name}-jjb-merge' +# JJB verify and merge jobs are the same except for their scm, trigger, and +# builders definition. This anchor is the common template +- lf_jjb_verify_merge: &lf_jjb_verify_merge + name: lf-jjb-verify-merge project-type: freestyle node: '{build-node}' @@ -72,6 +92,20 @@ - lf-infra-jjb-parameters: jjb-version: '{jjb-version}' + wrappers: + - lf-infra-wrappers: + build-timeout: 10 + jenkins-ssh-credential: '{jenkins-ssh-credential}' + + publishers: + - lf-infra-publish + +- job-template: + name: '{project-name}-jjb-merge' + <<: *lf_jjb_verify_merge + # yamllint disable-line rule:key-duplicates + <<: *lf_jjb_merge_builders + scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' @@ -80,11 +114,6 @@ submodule-recursive: '{submodule-recursive}' choosing-strategy: default - wrappers: - - lf-infra-wrappers: - build-timeout: 10 - jenkins-ssh-credential: '{jenkins-ssh-credential}' - triggers: - gerrit: server-name: '{gerrit-server-name}' @@ -100,44 +129,12 @@ branch-pattern: '**/{branch}' <<: *lf_jjb_file_paths - builders: - - lf-infra-jjbini - - shell: !include-raw-escape: - - ../shell/jjb-install.sh - - ../shell/jjb-merge-job.sh - - publishers: - - lf-infra-publish - - job-template: name: '{project-name}-jjb-verify' - project-type: freestyle - - node: '{build-node}' concurrent: true - - ###################### - # Default parameters # - ###################### - - branch: master - submodule-recursive: true - - ##################### - # Job Configuration # - ##################### - - properties: - - lf-infra-properties: - project: '{project}' - build-days-to-keep: 7 - - parameters: - - lf-infra-parameters: - project: '{project}' - branch: '{branch}' - - lf-infra-jjb-parameters: - jjb-version: '{jjb-version}' + <<: *lf_jjb_verify_merge + # yamllint disable-line rule:key-duplicates + <<: *lf_jjb_verify_builders scm: - lf-infra-gerrit-scm: @@ -147,11 +144,6 @@ choosing-strategy: gerrit jenkins-ssh-credential: '{jenkins-ssh-credential}' - wrappers: - - lf-infra-wrappers: - build-timeout: 10 - jenkins-ssh-credential: '{jenkins-ssh-credential}' - triggers: - gerrit: server-name: '{gerrit-server-name}' @@ -170,14 +162,3 @@ - branch-compare-type: ANT branch-pattern: '**/{branch}' <<: *lf_jjb_file_paths - - builders: - - lf-infra-jjbini - - shell: !include-raw-escape: - - ../shell/jjb-install.sh - - ../shell/jjb-verify-job.sh - - ../shell/jjb-check-unicode.sh - - gpg-verify-git-signature - - publishers: - - lf-infra-publish -- 2.16.6