40 Commits

Author SHA1 Message Date
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
Will Soula
156c4990f9 Adding ability to checkout from subversion and use the list tags parameter with the parameterized build plugin
Change-Id: Iad9c60d052c85bfb60794e6d2a9d80a915e7d1a8
Reviewed-on: https://review.openstack.org/14675
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:35:50 +00:00
william.soula
a9e2a2bd9b Fixing documentation for the timed trigger
Change-Id: Icdfb6295fb3a2c5bfbb411995bf67e8075197b86
Reviewed-on: https://review.openstack.org/14914
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-10-29 18:03:39 +00:00
Tollef Fog Heen
090eab01db Add BuildTrigger support
Change-Id: I85caf018a69a24e83a58b76d114c962f1516e104
Reviewed-on: https://review.openstack.org/14736
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-10-29 16:21:00 +00:00
william.soula
2208256583 Adding ability to use the validating-string parameter
Change-Id: I15481a9b45d9daf9d759df2e8000956ce060a76a
Reviewed-on: https://review.openstack.org/14884
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-10-29 05:48:03 +00:00
william.soula
b78a9bf810 Adding ability to use the claim plugin
Change-Id: Iff3bc8acc3724cec35fce68b291638dd7185c310
Reviewed-on: https://review.openstack.org/14892
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-10-28 09:34:37 +00:00
Tollef Fog Heen
86aafe57bc Add copyartifact builder method
Change-Id: I49ebd3056817ca071276d03196175e3caf4a2a51
Reviewed-on: https://review.openstack.org/14737
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-10-26 00:42:10 +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
3739ad3eae Fix docstring for pipeline publisher.
Change-Id: Ie4bc5fed35d39dbca2c3ef9ca185d465df0dc4e2
Reviewed-on: https://review.openstack.org/14457
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-16 16:02:18 +00:00
Antoine Musso
2736e14956 publisher for xunit
Let you describe a publisher for the xUnit Jenkins plugin:
	https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin

import the `logger` module since this publisher is doing a few
validations.

Example usage:

publishers:
	- xunit:
		thresholdmode: 'number'
		thresholds:
		  - skipped:
				unstablenew: 1
				failurenew: 1
		types:
		  - phpunit:
			  pattern: "junit.log"
			  stoponerror: false
		  - cppunit:
			  pattern: "cppunit.log"

Test plan:
* tox is all green
* sphinx doc got no warning and looks fine

Change-Id: Iab418b9a94e0f538afb7c2a4824ab4ddf421c208
Reviewed-on: https://review.openstack.org/14283
Reviewed-by: David Ripton <dripton@redhat.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-10-12 16:05:09 +00:00
Antoine Musso
7bec029f05 builder for ant
This let you define an 'ant' builder for those using ant as a build
script.

Given the YAML input:

	builders:
		- ant: "debug"
		- ant:
			targets: "test install"
			buildfile: "foobar.xml"

Generates the following XML:
  <builders>
    <hudson.tasks.Ant>
      <targets>debug</targets>
    </hudson.tasks.Ant>
    <hudson.tasks.Ant>
      <targets>test install</targets>
      <buildFile>foobar.xml</buildFile>
    </hudson.tasks.Ant>
  </builders>

Test plan:
* tox is all green
* sphinx doc got no warning

Change-Id: I9e443c827b7a1b7c3ceff668de518d4cbd7abfff
Reviewed-on: https://review.openstack.org/14141
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-09 23:26:02 +00:00
unicell
2b1028dc89 Add 'delete-all' subcommand to clear all jobs from Jenkins
Change-Id: Ic31b468b6cd1285578038af8f08020e5c4e30c63
Reviewed-on: https://review.openstack.org/13876
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-09 20:54:49 +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
Manuel Desbonnet
b6af0f0060 Adding some exception classes
Change-Id: I6835f4d20ef1e1d934f60bc096e79b63079f7e92
Reviewed-on: https://review.openstack.org/13270
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-01 17:03:03 +00:00
James E. Blair
560954b43f Add choice parameter type.
Change-Id: I6675727cd0638a183e20c0110fcdedfdca3f715a
Reviewed-on: https://review.openstack.org/13785
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-27 22:58:49 +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
Manuel Desbonnet
70f83bf756 Allow for deletion of mulitple jobs.
Job deletion also clears the job cache, so that a subsequent update
will upload even if the job hasn't changed.

Change-Id: Ie6d756a469e9f0069532c1327da01d57fe4feffe
Reviewed-on: https://review.openstack.org/13268
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-09-19 20:06:43 +00:00
James E. Blair
d4e443e632 Add some missing docs.
Change-Id: I6d726c3ad281cf11e44f37a48256fb88ea1546a2
Reviewed-on: https://review.openstack.org/13165
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-09-18 18:56:31 +00:00
Clark Boylan
24b1a19ce9 Make Jenkins Job Builder pass pyflakes checks.
One import was not used and another was missing.

Change-Id: I2eed26e445e4be1e674df89d29fb5b22dfa9dec4
Reviewed-on: https://review.openstack.org/13163
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-17 21:56:55 +00:00
Clark Boylan
78c083f590 Make code pass pep8 1.2 checks.
Change-Id: I5544ce07c7423a0e530860fa5637af26c73f6521
Reviewed-on: https://review.openstack.org/13162
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-17 21:45:34 +00:00
Clark Boylan
41b0d13ee6 Add links to required Jenkins plugins in docs.
Add links to section docstrings that point at Jenkins plugins required
for that particular section to work.

Change-Id: Ie5c8de780072b157fbb873227d3ccfa5a2be88f3
Reviewed-on: https://review.openstack.org/13155
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-09-17 21:22:17 +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
desbonne
32128b37f9 Forcing string conversion on boolean parameter
Change-Id: Id891e6948b879dfcb8f777f272dc1cb34cd197e8
Reviewed-on: https://review.openstack.org/12793
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-09-13 12:42:13 +00:00
desbonne
6ac3c5087b Adding 'pipeline' publisher to enable the build pipeline plugin
Change-Id: I0ab567c07c5acd7408d7662ea75dd8513a58888e
Reviewed-on: https://review.openstack.org/12792
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-09-13 12:41:54 +00:00
desbonne
c10f3dbb58 Adding 'builders-from' builder
Change-Id: Id26b073354c5825b8fe91ece83f56a636ea4ae5d
Reviewed-on: https://review.openstack.org/12791
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-09-13 12:41:39 +00:00
desbonne
80f6594add Adding 'current-parameters' option to trigger-builds
Change-Id: I651992a7e908b0c859397ec6281238b5e3ac9336
Reviewed-on: https://review.openstack.org/12790
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-09-13 12:31:43 +00:00
Manuel Desbonnet
ce17c7a108 Setting throttle values to default to 0 (instead of None)
Change-Id: I3d7b24f96efe3b588a727789c4900b9448da891d
Reviewed-on: https://review.openstack.org/12875
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-12 17:19:28 +00:00
desbonne
26c6287538 Adding logger (updated following suggestions from jeblair)
Change-Id: I8a48cb9dc2c6ea136ce072482467bee292a425f3
Reviewed-on: https://review.openstack.org/12788
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-12 17:18:26 +00:00
desbonne
0a00226c0d Adding 'quiet-period' option
Change-Id: I0182cad0313411b368d42325f40d09e5da8bc168
Reviewed-on: https://review.openstack.org/12787
Reviewed-by: Monty Taylor <mordred@inaugust.com>
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-09-11 16:50:13 +00:00
James E. Blair
631a5603d1 Remove openstack-specific description.
It's in the openstack defaults now.

Change-Id: Ib65ed00bec0cea363414e20ec799bde4fb33bac0
Reviewed-on: https://review.openstack.org/12471
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-05 23:28:19 +00:00
James E. Blair
6924ebc247 Add defaults.
Add a defaults object that will be the lowest priority source of
configuration data for jobs.

Change-Id: Ie7c9e5a5a84a610e9db02cf191ae1fbd15c7e3b9
Reviewed-on: https://review.openstack.org/12470
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-05 22:39:28 +00:00
Clark Boylan
5d47ef868f Add property injection specification.
Add ability to have the Jenkins Job Builder specify a script and
property file to use to inject environment variables into builds.

Change-Id: I628753ea526735e950b9d17697a08df1b412604f
Reviewed-on: https://review.openstack.org/12382
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-05 17:03:39 +00:00
James E. Blair
c3cc3c9c08 Add rootpom option to maven jobs.
Change-Id: I3a865cdc1ae9f92c39033e7b31b490ff7c384b95
Reviewed-on: https://review.openstack.org/11924
Reviewed-by: linuxjedi <andrew@linuxjedi.co.uk>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-24 16:28:06 +00:00
James E. Blair
36ca6015bd Improve scp publisher.
Add copy console, copy after failure, and multiple entries.

Change-Id: I7c4917fc0f1b4a30fcca349f2244c02a1898429f
Reviewed-on: https://review.openstack.org/11682
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-21 15:39:49 +00:00
James E. Blair
891a9d84c6 Add new zuul parameters.
Change-Id: I52cd7cbde0f957f144bfd8e6553c00ffee475e4f
Reviewed-on: https://review.openstack.org/11661
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-20 21:16:19 +00:00
James E. Blair
13aab58c91 Change pep8 publisher to generic violations.
Change-Id: I94abedc07e0e5884cd737975c65d53375c598f14
Reviewed-on: https://review.openstack.org/11501
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-16 20:55:14 +00:00
James E. Blair
fb0a113eff Add tox.ini and pep8, pyflakes cleanup.
Change-Id: I4d6312e92dffd596ae58e55c837e3db3ea7d1c52
Reviewed-on: https://review.openstack.org/11198
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-15 00:26:28 +00:00
James E. Blair
813fe7d5f2 Fix "update" command.
Some untested code after the recent refactor was broken.

Change-Id: Id8cf33b3d67d86fc18253d8fc91875669a888540
Reviewed-on: https://review.openstack.org/11197
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-10 23:27:02 +00:00
James E. Blair
6a5392603e Change all '_' to '-' in YAML for consistency.
Change-Id: If19cb26fa544b485acfc188baf3506eaea61d6cf
Reviewed-on: https://review.openstack.org/11154
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-10 18:41:21 +00:00
James E. Blair
8f09841693 Refactor modules and templating.
Switch to using entry points for loading modules as well as
individual buliders, triggers, publishers, etc.

Remove most openstack-specific python code.

Change templating so it's less repetitive -- a single project
definition will suffice for multiple jobs or job-groups.

This outputs XML that is identical to the current production XML,
warts and all.  There are significant improvements that can be made
to the YAML in a separate change, as they will cause minor changes
to existing jobs (adding timestamps, logrotate, etc.).  These are
mostly marked with TODO in this change.

Change-Id: Idcfddb3b43b6cfef4b20919a84540706d7a0a0b1
Reviewed-on: https://review.openstack.org/11000
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-10 16:00:42 +00:00