summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Grimberg <agrimberg@linuxfoundation.org>2017-02-08 12:40:56 -0800
committerAndrew Grimberg <agrimberg@linuxfoundation.org>2017-02-08 12:40:56 -0800
commit1ac7c2ddcc72a358175e821b8191e3cb13304ae7 (patch)
tree777c4b95763675c5e99a54fcf5bba31859d01f48
parent8ccaba19a050e63c2be2625a69ac9b4e952898ef (diff)
Add script verify and multi-scm script verify
* Add example templates for doing verify jobs that use a script instead of maven * Add new 'git-extra-project' macro for doing git checkouts that are not the base project checkout. These _must_ be checked out to a specified subdirectory * Add example template that does two git checkouts Change-Id: I522da87d591ee819a8fd67c22e25906b851a581e Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
-rw-r--r--jjb/global-macros.yaml19
-rw-r--r--jjb/global-templates-script.yaml132
2 files changed, 150 insertions, 1 deletions
diff --git a/jjb/global-macros.yaml b/jjb/global-macros.yaml
index d2068a828..a9681033f 100644
--- a/jjb/global-macros.yaml
+++ b/jjb/global-macros.yaml
@@ -1,6 +1,8 @@
---
# Global macros
+# vim: sw=2 ts=2 sts=2 et :
+
# BUILDERS
- builder:
name: ci-management-check-unicode
@@ -160,7 +162,7 @@
url: '$GIT_BASE'
refspec: ''
branches:
- - 'origin/${branch}'
+ - 'origin/{branch}'
skip-tag: true
wipe-workspace: true
timeout: 30
@@ -205,6 +207,21 @@
timeout: 30
wipe-workspace: true
+- scm:
+ name: git-extra-project
+ scm:
+ - git:
+ credentials-id: 'ecomp-jenkins-ssh'
+ url: '$GIT_NO_PROJECT/{project}'
+ refspec: '{refspec}'
+ branches:
+ - 'origin/{branch}'
+ skip-tag: true
+ timeoute: 30
+ wipe-workspace: false
+ basedir: '{checkout-dir}'
+
+
# TRIGGERS
# This is a single macro to use for all jobs who vote on every (relevant) patch
diff --git a/jjb/global-templates-script.yaml b/jjb/global-templates-script.yaml
new file mode 100644
index 000000000..9dd5dce8b
--- /dev/null
+++ b/jjb/global-templates-script.yaml
@@ -0,0 +1,132 @@
+---
+# vim: sw=2 ts=2 sts=2 et :
+
+- job-template:
+ # Job template for basic scm and script trigger
+ #
+ # Required Variables:
+ # branch: git branch
+ # build-node: what build node to run on
+ # script: build script to execute
+
+ name: '{project-name}-{stream}-verify-script'
+
+ project-type: freestyle
+ concurrent: true
+ node: '{build-node}'
+
+ properties:
+ - ecomp-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+
+ parameters:
+ - ecomp-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+
+ scm:
+ - gerrit-trigger-scm:
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ecomp-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '**'
+
+ builders:
+ - provide-maven-settings:
+ global-settings-file: 'global-settings'
+ settings-file: '{mvn-settings}'
+ # make sure maven gets installed / setup
+ - maven-target:
+ maven-version: 'mvn33'
+ goals: '--version'
+ settings: '{mvn-settings}'
+ settings-type: cfp
+ global-settings: 'global-settings'
+ global-settings-type: cfp
+ - shell: '{script}'
+
+# publishers:
+# - ecomp-infra-shiplogs:
+# maven-version: 'mvn33'
+
+- job-template:
+ # Job template for 2 scm and script trigger
+ #
+ # Required Variables:
+ # branch: git branch
+ # build-node: what build node to run on
+ # script: build script to execute
+ # extra-project: extra gerrit project to checkout
+ # extra-refspec: refspec for the extra project
+ # extra-branch: branch to checkout for the extra project
+ # checkout-dir: directory to checkout the extra project to
+ # DO NOT SET THIS TO anything that translates to
+ # $WORKSPACE as it will destroy the initial
+ # project checkout
+
+ name: '{project-name}-{stream}-multi-scm-verify-script'
+
+ project-type: freestyle
+ concurrent: true
+ node: '{build-node}'
+
+ properties:
+ - ecomp-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+
+ parameters:
+ - ecomp-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+
+ scm:
+ - gerrit-trigger-scm:
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+ - git-extra-project:
+ project: '{extra-project}'
+ refspec: '{extra-refspec}'
+ branch: '{extra-branch}'
+ checkout-dir: '{checkout-dir}'
+
+ wrappers:
+ - ecomp-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '**'
+
+ builders:
+ - provide-maven-settings:
+ global-settings-file: 'global-settings'
+ settings-file: '{mvn-settings}'
+ # make sure maven gets installed / setup
+ - maven-target:
+ maven-version: 'mvn33'
+ goals: '--version'
+ settings: '{mvn-settings}'
+ settings-type: cfp
+ global-settings: 'global-settings'
+ global-settings-type: cfp
+ - shell: '{script}'
+
+# publishers:
+# - ecomp-infra-shiplogs:
+# maven-version: 'mvn33'