8 Commits

Author SHA1 Message Date
Tollef Fog Heen
f2e3b038ff Fix up examples so they're at least syntactically valid
Ideally we should verify this at build time, but until then, at least
make the examples syntactically valid for anybody trying to get
started.

Change-Id: I413ae9576b012a4847bedaa5a1582fad3e1a8de0
Reviewed-on: https://review.openstack.org/15018
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-31 10:01:29 +00:00
Manuel Desbonnet
211cd36318 Do not output XML if job name not specified ('pipeline', 'trigger-builds')
Done in order to enable specifying build pipelines at the project level.
Pipelines are built using the 'pipeline' plugin or the 'trigger-builds'
plugin.  The downstream job to be executed is specified at the project
level, and substituted into the template.  Ignoring definitions where
the downstream job is blank allows the pipeline to be easily terminated.

Also adding a samples/ directory, which currently contains an example of
pipeline creation, together with a new tools/run-compare-xml-samples.sh
to run the before/after test on the samples.

Change-Id: Icc324d1485e22db7824ad784890db48eb3e48f8f
Reviewed-on: https://review.openstack.org/13706
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-30 16:32:39 +00:00
Tollef Fog Heen
8860e647a0 Add support for giving lists to job templates
This change allows constructs like:

- job-template:
    name: "foo-build-{slave}"

- project:
    slave:
      - debian-squeeze-powerpc
      - debian-squeeze-amd64

and will then instantiate the job template for each value in the
list.

Change-Id: I057a30ef6d91048efacc4a6da2142cb8f924dd06
Reviewed-on: https://review.openstack.org/14738
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-30 13:37:19 +00:00
Manuel Desbonnet
6ff1d69d14 Enable job-specific substitutions in a project's job list.
The motivation for this was to allow for specifying a pipeline of jobs
at the project level, thereby re-using the same job templates in
different pipelines.

Change-Id: I9840d3713669ceca75a831be92c95c3fe9195c01
Reviewed-on: https://review.openstack.org/13705
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-24 23:21:40 +00:00
Manuel Desbonnet
f05c9a3375 Add additional search path to fix building of documentation.
Sphinx was unable to find the jenkins_jobs.sphinx.yaml module when I
ran 'make html' in the doc/ subdirectory.

Change-Id: I64817139b149c66b01e3610248b49f955c5bde8c
Reviewed-on: https://review.openstack.org/13707
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-05 19:58:04 +00:00
Manuel Desbonnet
5465ab6d4f Adding hipchat notification capability.
Tweaks the Builder and YamlParser classes to accept a config object
which is passed to the parser's ModuleRegistry object. This makes it
available to the HipChat object.

Change-Id: I3017658336b949c0fda7c82945e7014dbcf6e152
Reviewed-on: https://review.openstack.org/12794
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-01 17:03:26 +00:00
James E. Blair
a7d33f1b0d Add email publisher/reporter.
Also, add reporters module.

Change-Id: I9cd0abca3d90f1af5f275698ecc9ccb7d9086494
Reviewed-on: https://review.openstack.org/13303
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-20 15:20:45 +00:00
James E. Blair
ab7c6bc6c1 Add documentation.
Move test.sh to the tools directory.
Move parameters and notifications to their own modules; even
though they are implemented as Jenkins properties, they make
more sense as separate entities in the job builder, because
that's they way they are specified in the YAML.  All three
modules that touch the properties xml object know how to
create it if it's missing.

Change-Id: I4b42ff10a93fd3ed98f632b58e47f3e0e45086d6
Reviewed-on: https://review.openstack.org/12741
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-17 20:25:38 +00:00