Updated conditional_publisher to support the new XML format
in the latest versions (>= 0.13) of the Flexible Publish plugin.
Ensured legacy format is still supported for plugin versions < 0.13.
Added support for multiple actions per condition with version >= 0.13.
Added unit test for multiple actions per condition
Change-Id: I4a91d2836ccd079d059b961a7f0b177a17df4093
New exclude features added to Gerrit Trigger plugin version 2.12.0.
Exclude Features:
- Drafts
- Trivial Rebase
- No Code Change
This patch still supports the old trigger non-dict format yaml config:
- patchset-created-event
Using the old configuration (non-dict) works in the new Gerrit Trigger
v2.12.0 as well as the previous versions.
In addition the newer configuration (dict) format also works in old
<2.12.0 and new >2.12.0 versions of Gerrit Trigger.
Added additional unit tests to verify old and new formats working.
Change-Id: I923b0be47085dc50da48f5ed271a13eae7e1dfa0
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
This makes it available for use by any module that has version-specific behavior
differences since modules always have access to the yamlparser which in turn
contains a module registry.
Change-Id: I1cae480a9a341ec2f6062904c962530dfce95057
Use the extensions style configuration for setting the SCM Git clean
configuration. With this format we deprecate the older (clean: bool)
configuration format and replace it with this format:
clean:
after: bool
before: bool
The older configuration is still supported so users who did not update
their YAML files can upgrade without updating all their YAML files first.
Change-Id: I1cfc0e2951c2b4de5e67bcb8abdf0b8c070e7fc6
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Use the newer extensions style configuration for the SCM Wipe workspace
option. This change simply changes the output style of this
configuration leaving the original YAML configuration values in tact so
it is backwards compatible with the old style configuration for
wipe-workspace setting.
While this patch still sets the old <wipeOutWorkspace> value long with
the new extensions value. Jenkins appears to be happy with both values
present and prefers the extensions format if it exists. This should
allow the older Jenkins that only supports the older config format to
continue to work.
Change-Id: Ib5b1809d19a35f83f524ee84b18f0c58b851c70b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
Adds support for parsing the output of the CMake test driver program on
the xUnit plugin, which was present since version 1.58.
Another fixture file was added to keep the data extraction based of the
current tests fixtures working.
Change-Id: I9be73b39c9034955f6224695cbd642f03deac2cf
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
This patch enables parameters to be expanded inside of other parameters. For
instance:
- job-template:
name: '{value-stream}_{pipeline_type}_foo'
builders:
- shell: 'echo "I am foo job!"'
publishers:
- trigger-parameterized-builds:
- project: '{downstream}'
current-parameters: False
condition: ALWAYS
git-revision: True
- job-template:
name: '{value-stream}_{pipeline_type}_bar'
builders:
- shell: 'echo "I am bar job!"'
publishers:
- trigger-parameterized-builds:
- project: '{downstream}'
current-parameters: False
condition: ALWAYS
git-revision: True
- job-template:
name: '{value-stream}_{pipeline_type}_baz'
builders:
- shell: 'echo "I am baz job!"'
publishers:
- trigger-parameterized-builds:
- project: '{downstream}'
current-parameters: False
condition: ALWAYS
git-revision: True
- job-group:
name: 'pipeline2'
pipeline_type: 'p2'
jobs:
- '{value-stream}_{pipeline_type}_foo':
downstream: '{value-stream}_{pipeline_type}_bar'
- '{value-stream}_{pipeline_type}_bar':
downstream: '{value-stream}_{pipeline_type}_baz'
- '{value-stream}_{pipeline_type}_baz':
- job-group:
name: 'pipeline1'
pipeline_type: 'p1'
jobs:
- '{value-stream}_{pipeline_type}_baz':
downstream: '{value-stream}_{pipeline_type}_bar'
- '{value-stream}_{pipeline_type}_bar':
downstream: '{value-stream}_{pipeline_type}_foo'
- '{value-stream}_{pipeline_type}_foo':
- project:
name: derp
jobs:
- 'pipeline1':
value-stream:
- experimental
- staging
- 'pipeline2':
value-stream:
- experimental
- staging
- production
Prior to this commit, the setup above was not possible because the `downstream`
defined as parameters to be passed to job templates in the job groups would not
have the `value-stream` and `pipeline-type` parameters interpolated. The
trigger-parameterized-jobs `project` value for each of the 15 jobs created with
this setup would all look something like `{value-stream}_{pipeline_type}_foo`
which does not actually point to any particular job.
The only way I was previously able to specify a downstream job with parameters
was to put the `{value-stream}_{pipeline_type}_foo` string directly in the
job-template which meant that job templates were statically bound to each
other--I had no reasonable way to re-order or easily select subsets of the jobs
at the job-group or project level as can be seen here in the difference between
`pipeline1` and `pipeline2`.
Change-Id: I26dfb112cd4842c40c3d561f8de89f7654a07b8f
Axis that selects available JDKs. JDK axis has the same XML
structure as other axes; only the element name changes.
The matrix project support was split out of core Jenkins into the
'Matrix Project Plugin', so update the docstring to mention that
this plugin is required.
Tested on Jenkins ver. 1.565.2 with Matrix Project Plugin 1.4.
Change-Id: I6b9d243810833bd3d31535439cc48768db5a6598
The cmakebuilder plugin is used to configure CMake builds to Jenkins,
being able to set several directories and variables related to CMake.
All the possible configurations for the plugin can be set with this
builder. Also included on this change are the documentation and two test
cases, one for common usage types and another more complete.
More information about the plugin can be found at:
https://wiki.jenkins-ci.org/display/JENKINS/cmakebuilder+Plugin
Change-Id: I3f62515d7dc2d3b6e5726ebe06c53e72de5cde90
Signed-off-by: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
'Enable condition' is optional condition in groovy script
format to run phase job of MultiJob project
Change-Id: I1962d7f8dc2a3613e96654ba11e15f79f8193fae
The Jenkins Git SCM plugin now uses extensions style configuration. This
patch adds support for the extensions format and deprecates the old
format.
Change-Id: I3ef144473142e23de859f38501f3561875fb44bf
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
The postbuildscript module's 'onsuccess' and 'onfailure' parameters
names were slightly confusing. This change deprecates those parameter
names and replaces them with less confusing names. The new names
are more closely matched to the ones that get added to the xml.
Change-Id: Ifb76129852816aa3f8ee6bb7f609a2344ccc7a69
This parameter defines a list of nodes where this job could potentially
be executed on. Nodes can be choosen from list of current available nodes.
Currently it trasforms to single-selection dropdown to choose a slave for execution.
Change-Id: I5379d20b94e3b33360ea8f842e3b4237b491addb
In order to be able to react on multiple verdict categories (for example
Verify +1, Review +2) with one job, we need multiple definitions of
trigger-on events of the same-kind (comment-added-event). This was not
possible with the previous structure of event definitions.
The new yaml structure definition also better reflects the XML structure.
Change-Id: Idec0f2b07479c0611497126e984c13adf543ffc0
Adds Mercurial plugin to jenkins-job-builder.
This allows you to use hg repositories in your Jenkins config
eg:
scm:
- hg:
branch: feature
url: ssh://hg@hg/repo
modules:
- module1
- module2
browser: hgweb
browser-url: http://hg/repo
Follows up on change ids:
I00aaa4bb7a67ee5038ed1eff79b5497866730d19
I134c8af15f0d4dc895f7131c77085c198b701fa8
Change-Id: I628f7fbd11769b1d18551fcd2913777dbe8de5a2
Implements: blueprint jenkins-job-builder-mercurial
The docstring for postbuildscript publishers stated that onsuccess
would default to False and onfailure defaulting to True. However,
if you look below around line 2523 you'll see it's the opposite.
Update the docstring to be correct and keep the behaviour of only
running onsuccess by default.
Change-Id: Ib98095fe0d741ef3afb6d4a8893568dae9be103d
Passing a blank URL will cause the build to fail with
ERROR: Failed to deploy artifacts/metadata: Cannot access with type
default using the available connector factories:
WagonRepositoryConnectorFactory
Change-Id: Iab142155542f69e8ff876e7b24fd4e460b670ae8
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>