From 662ca55cf3baf82a79bb20607623b26e03b18f59 Mon Sep 17 00:00:00 2001 From: Thanh Ha Date: Sun, 11 Jun 2017 20:14:10 -0400 Subject: [PATCH] Add support for GitHub to Python templates Jira: RELENG-170 Change-Id: I79aba6cf06f985fbcab6dfae6963d1e8e1c6949f Signed-off-by: Thanh Ha --- jjb/lf-python-jobs.yaml | 99 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 77 insertions(+), 22 deletions(-) diff --git a/jjb/lf-python-jobs.yaml b/jjb/lf-python-jobs.yaml index 530d05b5..581e34a0 100644 --- a/jjb/lf-python-jobs.yaml +++ b/jjb/lf-python-jobs.yaml @@ -1,11 +1,28 @@ --- -################# -# Job Templates # -################# +- job-group: + name: '{project-name}-python-jobs' -- job-template: - # Python projects typically use tox to run testing. - name: '{project-name}-tox-verify-{stream}' + # This job group contains all the recommended jobs that should be deployed + # for any project ci that is using Gerrit. + + jobs: + - gerrit-tox-verify + +- job-group: + name: '{project-name}-github-python-jobs' + + # This job group contains all the recommended jobs that should be deployed + # for any project ci that is using GitHub. + + jobs: + - github-tox-verify + +#################### +# Anchors & Macros # +#################### + +- lf_tox_verify: &lf_tox_verify + name: lf-tox-verify # Required Variables: # branch: git branch (default: master) @@ -43,6 +60,34 @@ tox-dir: '{tox-dir}' tox-envs: '{tox-envs}' + wrappers: + - lf-infra-wrappers: + build-timeout: '{build-timeout}' + jenkins-ssh-credential: '{jenkins-ssh-credential}' + + builders: + - shell: !include-raw-escape: + # Workaround issue where the tox run later breaks the lftools virtualenv. + # Without running the install first the run in the publisher will fail + # due to missing lftools because it gets installed into a tox venv. + - ../shell/lftools-install.sh + - shell: !include-raw-escape: + - ../shell/tox-install.sh + - ../shell/tox-run.sh + + publishers: + - lf-infra-publish + +################# +# Job Templates # +################# + +- job-template: + # Python projects typically use tox to run testing. + name: '{project-name}-tox-verify-{stream}' + id: gerrit-tox-verify + <<: *lf-tox-verify + scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' @@ -52,11 +97,6 @@ submodule-recursive: '{submodule-recursive}' choosing-strategy: gerrit - wrappers: - - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - triggers: - gerrit: server-name: '{gerrit-server-name}' @@ -75,15 +115,30 @@ - branch-compare-type: ANT branch-pattern: '**/{branch}' - builders: - - shell: !include-raw-escape: - # Workaround issue where the tox run later breaks the lftools virtualenv. - # Without running the install first the run in the publisher will fail - # due to missing lftools because it gets installed into a tox venv. - - ../shell/lftools-install.sh - - shell: !include-raw-escape: - - ../shell/tox-install.sh - - ../shell/tox-run.sh +- job-template: + # Python projects typically use tox to run testing. + name: '{project-name}-tox-verify-{stream}' + id: github-tox-verify + <<: *lf-tox-verify - publishers: - - lf-infra-publish + properties: + - github: + url: '${{GIT_URL}}{github-org}/{project}' + + scm: + - lf-infra-github-scm: + url: '${{GIT_CLONE_URL}}{github-org}/{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 -- 2.16.6