You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2016/09/29 13:50:14 UTC
svn commit: r1762775 - /sling/trunk/tooling/jenkins/create_jobs.groovy
Author: rombert
Date: Thu Sep 29 13:50:13 2016
New Revision: 1762775
URL: http://svn.apache.org/viewvc?rev=1762775&view=rev
Log:
SLING-6061 - Create per-module Jenkins jobs
Configure inter-job dependencies automatically using
the Jenkins Maven plugin.
Modified:
sling/trunk/tooling/jenkins/create_jobs.groovy
Modified: sling/trunk/tooling/jenkins/create_jobs.groovy
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/jenkins/create_jobs.groovy?rev=1762775&r1=1762774&r2=1762775&view=diff
==============================================================================
--- sling/trunk/tooling/jenkins/create_jobs.groovy (original)
+++ sling/trunk/tooling/jenkins/create_jobs.groovy Thu Sep 29 13:50:13 2016
@@ -440,7 +440,6 @@ def modules = [
// TODO - create launchpad jobs
// TODO - automatic links from modules in bundles and installer (others?)
// to the launchpad testing jobs
-// TODO - define (or infer?) dependencies between groups of jobs (sightly, validation, etc )
// should be sorted from the oldest to the latest version
// so that artifacts built using the oldest version are
@@ -475,14 +474,38 @@ for more details</p>''')
svn(svnDir)
}
+ // note on dependency managment
+ // we ask Jenkins to create dependencies between projects automatically
+ // if SNAPSHOT dependencies are found between projects. This might create
+ // too many dependencies, e.g. if foo-core depends on foo-core and projects
+ // build for Java 1.7 and 1.8 the following depdendencies will be created
+ //
+ // foo-api-1.7 → foo-core-1.7
+ // foo-api-1.7 → foo-core-1.8
+ // foo-api-1.8 → foo-core-1.7
+ // foo-api-1.8 → foo-core-1.8
+ //
+ // in effect we will trigger builds twice as often as needed. Since SNAPSHOT
+ // dependencies are not that often found between bundles and builds should
+ // be quick this is acceptable for now. The alternative would be to define
+ // the dependencies manually, which is cumbersome and error-prone
+
triggers {
+ snapshotDependencies(true)
scm('H/15 * * * *')
}
+ blockOnUpstreamProjects()
+
jdk(jdkMapping.get(jdkKey))
mavenInstallation("Maven 3.3.9")
+ // we have no use for archived artifacts since they are deployed on
+ // repository.apache.org so speed up the build a bit (and probably
+ // save on disk space)
+ archivingDisabled(true)
+
label('Ubuntu&&!ubuntu3')
goals(deploy ? "-U clean deploy" : "-U clean verify");