Migrate yangtools matrix-verify jobs to freestyle-verify jobs 39/42139/6
authorAnil Belur <abelur@linuxfoundation.org>
Wed, 20 Jul 2016 11:36:25 +0000 (17:06 +0530)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Thu, 21 Jul 2016 03:22:00 +0000 (23:22 -0400)
This patch will:

    * Delete the existing yangtools verify jobs
    * Create new template {project-name}-verify-{stream}-{maven}-{jdk} jobs
    * Switch yangtools back to use a releng managed verify template

In the case of yangtools we are switching from the Maven project job
type to freestyle project type. It should also speed up builds a little
at the end as the freestyle jobs do not run the additional
fingerprinting.

This work is related to our infra changes mentioned on the mailing list
(see below for link). We'd like to migrate jobs away from using the
matrix type jobs and convert them to freestyle jobs as the matrix system
occassionally causes us build issues especially with larger queue sizes.

See:
https://lists.opendaylight.org/pipermail/release/2016-July/007288.html

Change-Id: I6a2fb2d7745a089f29106defd6e4fe4d59584c9c
Co-Authored-By: Thanh Ha <thanh.ha@linuxfoundation.org>
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
jjb/yangtools/yangtools-verify.yaml [deleted file]
jjb/yangtools/yangtools.yaml

diff --git a/jjb/yangtools/yangtools-verify.yaml b/jjb/yangtools/yangtools-verify.yaml
deleted file mode 100644 (file)
index 378943f..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-- project:
-    name: yangtools-verify-boron
-    jobs:
-        - 'yangtools-verify-{stream}-{maven}-{jdk}'
-
-    jdk:
-        - openjdk8
-
-    # {mvn*} values are defined in releng/builder jjb/releng-defaults.yaml
-    maven:
-        - mvn32:
-            mvnver: '{mvn32}'
-        - mvn33:
-            mvnver: '{mvn33}'
-
-    stream:
-        - boron:
-            branch: master
-
-    project: 'yangtools'
-
-- project:
-    name: yangtools-verify-beryllium
-    jobs:
-        - 'yangtools-verify-{stream}-{maven}-{jdk}'
-
-    jdk:
-        - openjdk7
-        - openjdk8
-
-    # {mvn*} values are defined in releng/builder jjb/releng-defaults.yaml
-    maven:
-        - mvn32:
-            mvnver: '{mvn32}'
-        - mvn33:
-            mvnver: '{mvn33}'
-
-    stream:
-        - beryllium:
-            branch: stable/beryllium
-
-    project: 'yangtools'
-
-- project:
-    name: yangtools-verify-lithium
-    jobs:
-        - 'yangtools-verify-{stream}-{maven}-{jdk}'
-
-    jdk:
-        - openjdk7
-        - openjdk8
-    maven:
-        - mvn31:
-            mvnver: '{mvn31}'
-        - mvn32:
-            mvnver: '{mvn32}'
-
-    stream:
-        - stable-lithium:
-            branch: stable/lithium
-
-    project: 'yangtools'
-
-- job-template:
-    name: 'yangtools-verify-{stream}-{maven}-{jdk}'
-
-    project-type: maven
-    node: centos7-java-builder-2c-8g
-    concurrent: true
-    jdk: '{jdk}'
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - opendaylight-infra-parameters:
-            project: '{project}'
-            branch: '{branch}'
-            refspec: 'refs/heads/{branch}'
-            artifacts: '{archive-artifacts}'
-
-    scm:
-        - gerrit-trigger-scm:
-            refspec: '$GERRIT_REFSPEC'
-            choosing-strategy: 'gerrit'
-
-    wrappers:
-        - opendaylight-infra-wrappers:
-            build-timeout: '{build-timeout}'
-
-    triggers:
-        - gerrit-trigger-patch-submitted:
-            name: 'yangtools'
-            branch: '{branch}'
-
-    prebuilders:
-        - provide-maven-settings:
-            global-settings-file: 'odl-global-settings'
-            settings-file: 'yangtools-settings'
-
-    maven:
-        maven-name: '{mvnver}'
-        root-pom: 'pom.xml'
-        goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: 'yangtools-settings'
-        settings-type: cfp
-        global-settings: 'odl-global-settings'
-        global-settings-type: cfp
-        ignore-upstream-changes: true
-
-    publishers:
-        - email-notification:
-            email-prefix: '[yangtools]'
index 6c70e74b4f71dcd432fd370b427c4626c8056ab8..8a3d358ffe3acef693958854d4a4daadf8c072b6 100644 (file)
@@ -1,6 +1,6 @@
 # ODL Releng build templates
 - project:
-    name: yangtools
+    name: yangtools-boron
     jobs:
         - '{project-name}-clm-{stream}'
         - '{project-name}-distribution-{stream}'
         - '{project-name}-integration-{stream}'
         - '{project-name}-merge-{stream}'
         - '{project-name}-periodic-{stream}'
-        - '{project-name}-sonar'
         - '{project-name}-validate-autorelease-{stream}'
+        - '{project-name}-verify-{stream}-{maven}-{jdk}'
 
     # stream:    release stream (eg. stable-lithium or beryllium)
     # branch:    git branch (eg. stable/lithium or master)
     stream:
         - boron:
-            branch: 'master'
-            jdk: openjdk8
-            jdks:
-                - openjdk8
             disable_autorelease: False
             disable_distribution_check: False
+
+    project: 'yangtools'
+    project-name: 'yangtools'
+    branch: 'master'
+    jdk: openjdk8
+    maven:
+        - mvn32:
+            mvn-version: '{mvn32}'
+        - mvn33:
+            mvn-version: '{mvn33}'
+    mvn-settings: 'yangtools-settings'
+    mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream}'
+    email-upstream: '[yangtools] [odlparent]'
+    archive-artifacts: ''
+
+- project:
+    name: yangtools-beryllium
+    jobs:
+        - '{project-name}-clm-{stream}'
+        - '{project-name}-distribution-{stream}'
+        - '{project-name}-distribution-check-{stream}'
+        - '{project-name}-integration-{stream}'
+        - '{project-name}-merge-{stream}'
+        - '{project-name}-periodic-{stream}'
+        - '{project-name}-validate-autorelease-{stream}'
+        - '{project-name}-verify-{stream}-{maven}-{jdk}'
+
+    stream:
         - beryllium:
-            branch: 'stable/beryllium'
-            jdk: openjdk7
-            jdks:
-                - openjdk7
-                - openjdk8
             disable_autorelease: False
             disable_distribution_check: False
+
+    project: 'yangtools'
+    project-name: 'yangtools'
+    branch: 'stable/beryllium'
+    jdk:
+      - openjdk7
+      - openjdk8
+    maven:
+        - mvn32:
+            mvn-version: '{mvn32}'
+        - mvn33:
+            mvn-version: '{mvn33}'
+    mvn-settings: 'yangtools-settings'
+    mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream}'
+    email-upstream: '[yangtools] [odlparent]'
+    archive-artifacts: ''
+
+- project:
+    name: yangtools-stable-lithium
+    jobs:
+        - '{project-name}-clm-{stream}'
+        - '{project-name}-distribution-{stream}'
+        - '{project-name}-distribution-check-{stream}'
+        - '{project-name}-integration-{stream}'
+        - '{project-name}-merge-{stream}'
+        - '{project-name}-periodic-{stream}'
+        - '{project-name}-validate-autorelease-{stream}'
+        - '{project-name}-verify-{stream}-{maven}-{jdk}'
+
+    stream:
         - stable-lithium:
-            branch: 'stable/lithium'
-            jdk: openjdk7
-            jdks:
-                - openjdk7
-                - openjdk8
             disable_autorelease: True
             disable_distribution_check: True
 
     project: 'yangtools'
     project-name: 'yangtools'
+    branch: 'stable/lithium'
+    jdk: openjdk7
+    maven:
+        - mvn31:
+            mvn-version: '{mvn31}'
+        - mvn32:
+            mvn-version: '{mvn32}'
     mvn-settings: 'yangtools-settings'
     mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream}'
     email-upstream: '[yangtools] [odlparent]'
     archive-artifacts: ''
+
+- project:
+    name: yangtools-sonar
+    jobs:
+        - '{project-name}-sonar'
+
+    project: 'yangtools'
+    project-name: 'yangtools'
+    branch: 'master'
+    mvn-settings: 'yangtools-settings'
+    mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'