- job-template:
name: 'PROJECT_SHORTNAME-validate-autorelease-{stream}'
+ disabled: '{autorelease}'
project-type: maven
node: dynamic_verify
- beryllium:
branch: master
jdks: openjdk7,openjdk8
+ autorelease: true
- stable-lithium:
branch: stable/lithium
jdks: openjdk7
- stable-helium:
branch: stable/helium
jdks: openjdk7
-AUTORELEASE: true
- beryllium:
branch: master
jdks: openjdk7,openjdk8
+ autorelease: true
- stable-lithium:
branch: stable/lithium
jdks: openjdk8,openjdk7
DEPENDENCIES: controller,yangtools,odlparent
-AUTORELEASE: true
- beryllium:
branch: master
jdks: openjdk7,openjdk8
+ autorelease: true
DEPENDENCIES: openflowplugin,odlparent,controller,yangtools
-AUTORELEASE: true
else:
templates = "verify,merge,daily,distribution,integration,sonar"
templates += ",clm" # ensure we always create a clm job for all projects
-
-if cfg.get("AUTORELEASE"):
- templates += ",validate-autorelease"
+templates += ",validate-autorelease" # Autorelease validate template
##################
# Handle Streams #
for jdk in options["jdks"].split(","):
str_streams += " - %s\n" % jdk.strip()
+ # Disable autorelease validate job unless project is participating
+ # in autorelease
+ str_streams += " autorelease: %s\n" % options.get(
+ "autorelease", False)
+
###############
# Handle JDKS #
###############
help="Comma-seperated list of patterns of artifacts "
"to archive on build completion. "
"See: http://ant.apache.org/manual/Types/fileset.html") # noqa
- parser.add_argument("-r", "--autorelease", action="store_true",
- help="Enable the validate-autorelease job, you "
- "should enable this if your project is part of "
- "the simultanious release.")
return parser.parse_args()
if args.archive_artifacts:
cfg_data["ARCHIVE"] = args.archive_artifacts
- if args.autorelease:
- cfg_data["AUTORELEASE"] = args.autorelease
-
if cfg_data:
# Create project directory if it doesn't exist
if not os.path.exists(project_dir):
# See: http://ant.apache.org/manual/Types/fileset.html
#
# Example : *.log,*.patches
- #
- # -r / --autorelease : Switch to enable the project-validate-autorelease
- # job. Projects that are part of the simultanious
- # release need to have this enabled.
If all your project requires is the basic verify, merge, and
daily jobs then using the job template should be all you need to
JOB_TEMPLATES: verify,merge,sonar
STREAMS:
- beryllium:
+ branch: master
jdks: openjdk7,openjdk8
- - stable/lithium:
+ autorelease: true
+ - stable-lithium:
+ branch: stable/lithium
jdks: openjdk7
POM: dfapp/pom.xml
MVN_GOALS: clean install javadoc:aggregate -DrepoBuild -Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo
MVN_OPTS: -Xmx1024m -XX:MaxPermSize=256m
DEPENDENCIES: aaa,controller,yangtools
ARCHIVE_ARTIFACTS: *.logs, *.patches
- AUTORELEASE: true
Note: BRANCHES is a list of branches you want JJB to generate jobs for, the
first branch will be the branch that reports Sonar analysis. Each branch must
run tests against for the branch; additionally the first jdk listed will be
used as the default jdk for non-verify type jobs.
+Note: Projects that are participating in the simultanious release should set
+"autorelease: true" under the streams they are participating in autorelease
+for. This enables a new job type validate-autorelease which is used to help
+identify if Gerrit patches might break autorelease or not.
+
#### Advanced
It is also possible to take advantage of both the auto updater and creating