From 0912741cdcac047d4ef2e0d689a0260debc92b32 Mon Sep 17 00:00:00 2001 From: Jeremy Phelps Date: Thu, 11 May 2017 12:23:20 -0500 Subject: [PATCH] Add macro for github SCM and bits for ghrpb RELENG-127 Change-Id: I2affd71b4c4332522104b7eff11af284b9bab895 Signed-off-by: Jeremy Phelps --- README.md | 8 +++++ jjb/lf-ci-jobs.yaml | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++ jjb/lf-macros.yaml | 13 ++++++++ 3 files changed, 114 insertions(+) diff --git a/README.md b/README.md index edba0d91..3bad6b0f 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,13 @@ Trigger global configuration. **jenkins-ssh-credential**: The name of the Jenkins Credential to use for ssh connections. +If you are using GitHub then there are two more parameters which +will need to be placed in the defaults.yaml + +**github-url**: The URL of GitHub. (Default: https://github.com) + +**github-org**: The name of the GitHub organization. + defaults.yaml: ``` @@ -83,6 +90,7 @@ defaults.yaml: # lf-infra defaults jenkins-ssh-credential: opendaylight-jenkins-ssh gerrit-server-name: OpenDaylight + github-org: lfit ``` ## Config File Management diff --git a/jjb/lf-ci-jobs.yaml b/jjb/lf-ci-jobs.yaml index 8005bdcb..b1d3646b 100644 --- a/jjb/lf-ci-jobs.yaml +++ b/jjb/lf-ci-jobs.yaml @@ -11,6 +11,19 @@ - gerrit-jjb-merge - gerrit-jjb-verify +- job-group: + name: '{project-name}-github-ci-jobs' + + # This job group contains all the recommended jobs that should be deployed + # for any project ci that is using github. + + jjb-version: 1.6.2 + + jobs: + - 'github-jjb-merge' + - 'github-jjb-verify' + + #################### # Anchors & Macros # #################### @@ -164,3 +177,83 @@ - branch-compare-type: ANT branch-pattern: '**/{branch}' <<: *lf_jjb_file_paths + +- job-template: + name: '{project-name}-jjb-merge' + id: github-jjb-merge + <<: *lf_jjb_verify_merge + # yamllint disable-line rule:key-duplicates + <<: *lf_jjb_merge_builders + + ###################### + # Default parameters # + ###################### + + github-url: https://github.com + + ##################### + # Job Configuration # + ##################### + + properties: + - github: + url: '{github-url}/{github-org}/{project}' + + scm: + - lf-infra-github-scm: + url: '$GIT_URL/$PROJECT' + refspec: '+refs/pull/*:refs/remotes/origin/pr/*' + branch: '{branch}' + submodule-recursive: '{submodule-recursive}' + choosing-strategy: default + jenkins-ssh-credential: '{jenkins-ssh-credential}' + + triggers: + - github-pull-request: + trigger-phrase: '^remerge$' + only-trigger-phrase: true + status-context: 'JJB Merge' + permit-all: false + github-hooks: true + auto-close-on-fail: false + org-list: + - '{github-org}' + +- job-template: + name: '{project-name}-jjb-verify' + id: github-jjb-verify + <<: *lf_jjb_verify_merge + # yamllint disable-line rule:key-duplicates + <<: *lf_jjb_merge_builders + + ###################### + # Default parameters # + ###################### + + github-url: https://github.com + + ##################### + # Job Configuration # + ##################### + + properties: + - github: + url: '{github-url}/{github-org}/{project}' + + scm: + - lf-infra-github-scm: + url: '$GIT_URL/$PROJECT' + refspec: '+refs/pull/*:refs/remotes/origin/pr/*' + branch: '{branch}' + submodule-recursive: '{submodule-recursive}' + choosing-strategy: default + jenkins-ssh-credential: '{jenkins-ssh-credential}' + + triggers: + - github-pull-request: + trigger-phrase: '^recheck$' + only-trigger-phrase: false + status-context: 'JJB Verify' + permit-all: true + github-hooks: true + auto-close-on-fail: false diff --git a/jjb/lf-macros.yaml b/jjb/lf-macros.yaml index 0c0e69b3..175af865 100644 --- a/jjb/lf-macros.yaml +++ b/jjb/lf-macros.yaml @@ -125,6 +125,19 @@ recursive: '{submodule-recursive}' choosing-strategy: '{choosing-strategy}' +- scm: + name: lf-infra-github-scm + scm: + - git: + credentials-id: '{jenkins-ssh-credential}' + url: '$GIT_URL/$PROJECT' + refspec: '{refspec}' + skip-tag: true + wipe-workspace: true + submodule: + recursive: '{submodule-recursive}' + choosing-strategy: '{choosing-strategy}' + - wrapper: name: lf-infra-wrappers wrappers: -- 2.16.6