From: Andrew Grimberg Date: Mon, 8 May 2017 18:28:49 +0000 (-0700) Subject: Use anchors on JJB verify / merge job definitions X-Git-Tag: v0.2.0~2 X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F46%2F4746%2F1;hp=5df83713c9a978e7a4d1d65ce9377a8ffbf525d0;p=releng%2Fglobal-jjb.git 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 --- 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