ci: make a separate job per node

Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/48ef8703
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/48ef8703
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/48ef8703

Branch: refs/heads/master
Commit: 48ef870335b87aba55c2f767d7b47afd2997fbee
Parents: 3f2b562
Author: James Peach <[email protected]>
Authored: Mon Aug 19 11:16:34 2013 -0700
Committer: James Peach <[email protected]>
Committed: Mon Aug 19 11:16:34 2013 -0700

----------------------------------------------------------------------
 ci/jenkins.yaml | 281 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 268 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/48ef8703/ci/jenkins.yaml
----------------------------------------------------------------------
diff --git a/ci/jenkins.yaml b/ci/jenkins.yaml
index 606a8ff..0236700 100644
--- a/ci/jenkins.yaml
+++ b/ci/jenkins.yaml
@@ -31,6 +31,25 @@
         - shell: |
             rm -rf "${WORKSPACE}/install/${JOB_NAME}.${BUILD_NUMBER}"
 
+# XXX if we can pass down a $MAKE environment variable from the project, then 
we can
+# remove the BSD builder and just use the linux one.
+- builder:
+    name: bsd-regression
+    builders:
+        - shell: |
+            git clean -d -f -x -q
+            mkdir -p "${WORKSPACE}/install/${JOB_NAME}.${BUILD_NUMBER}"
+            autoreconf -fi
+        - shell: |
+            ./configure 
--prefix="${WORKSPACE}/install/${JOB_NAME}.${BUILD_NUMBER}" 
--enable-experimental-plugins
+        - shell: gmake -j2 V=1
+        - shell: gmake check
+        - shell: gmake install
+        - shell: |
+            
"${WORKSPACE}/install/${JOB_NAME}.${BUILD_NUMBER}"/bin/traffic_server -R 1
+        - shell: |
+            rm -rf "${WORKSPACE}/install/${JOB_NAME}.${BUILD_NUMBER}"
+
 - builder:
     name: 'omnios-regression'
     builders:
@@ -57,8 +76,8 @@
             rm -rf "${WORKSPACE}/install/${JOB_NAME}.${BUILD_NUMBER}"
 
 - job-template:
-    name: '{name}-regression'
-    node: '{label}'
+    name: '{node}-{name}-regression'
+    node: '{node}'
     logrotate:
         daysToKeep: -1
         numToKeep: 2
@@ -72,40 +91,276 @@
     triggers:
         - pollscm: 'H/2 * * * *'
     builders:
-        - '{label}-regression'
+        - '{builder}-regression'
 
 - project:
-    name: linux
-    label: linux
+    name: centos-5-x64
+    node: centos_5_x64
+    builder: linux
     jobs:
-        - '{name}-regression':
+        - '{node}-{name}-regression':
             name: linux-master
             branch: master
             repo: file:///home/jenkins/git/trafficserver
-        - '{name}-regression':
+        - '{node}-{name}-regression':
             name: linux-3.3.x
             branch: 3.3.x
             repo: file:///home/jenkins/git/trafficserver_3.2
-        - '{name}-regression':
+        - '{node}-{name}-regression':
             name: linux-3.4.x
             branch: 3.4.x
             repo: file:///home/jenkins/git/trafficserver_3.4
 
 - project:
-    name: omnios
-    label: omnios
+    name: centos-5-x86
+    node: centos_5_x86
+    builder: linux
     jobs:
-        - '{name}-regression':
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: centos-6.4-x64
+    node: centos_6.4_x64
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: centos-6.4-x86
+    node: centos_6.4_x86
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: fedora-15-x64
+    node: fedora_15_x64
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: fedora-15-x86
+    node: fedora_15_x86
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: fedora-18-x64
+    node: fedora_18_x64
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: fedora-18-x86
+    node: fedora_18_x86
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: fedora-rawhide-x64
+    node: fedora_rawhide_x64
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: fedora-rawhide-x86
+    node: fedora_rawhide_x86
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: freebsd-9.1-x64
+    node: freebsd_9.1_x64
+    builder: bsd
+    jobs:
+        - '{node}-{name}-regression':
+            name: freebsd-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: freebsd-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: freebsd-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: omnios-x64
+    node: omnios_x64
+    builder: omnios
+    jobs:
+        - '{node}-{name}-regression':
             name: omnios-master
             branch: master
             repo: file:///home/jenkins/git/trafficserver
-        - '{name}-regression':
+        - '{node}-{name}-regression':
             name: omnios-3.3.x
             branch: 3.3.x
             repo: file:///home/jenkins/git/trafficserver_3.2
-        - '{name}-regression':
+        - '{node}-{name}-regression':
             name: omnios-3.4.x
             branch: 3.4.x
             repo: file:///home/jenkins/git/trafficserver_3.4
 
+- project:
+    name: opensuse-12-x64
+    node: opensuse_12_x64
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: ubuntu-10.04-x64
+    node: ubuntu_10.04_x64
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
+- project:
+    name: ubuntu-12.04-x64
+    node: ubuntu_12.04_x64
+    builder: linux
+    jobs:
+        - '{node}-{name}-regression':
+            name: linux-master
+            branch: master
+            repo: file:///home/jenkins/git/trafficserver
+        - '{node}-{name}-regression':
+            name: linux-3.3.x
+            branch: 3.3.x
+            repo: file:///home/jenkins/git/trafficserver_3.2
+        - '{node}-{name}-regression':
+            name: linux-3.4.x
+            branch: 3.4.x
+            repo: file:///home/jenkins/git/trafficserver_3.4
+
 # vim: sw=4 ts=4 et ft=yaml :

Reply via email to