jujube 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -15
- data/README.md +2 -2
- data/acceptance/fixtures/endToEnd/endToEnd.job +2 -1
- data/acceptance/fixtures/endToEnd/expected.yml +4 -1
- data/acceptance/jujube/acceptance_test.rb +6 -1
- data/lib/jujube/components/axes.rb +3 -3
- data/lib/jujube/components/builders.rb +2 -2
- data/lib/jujube/components/parameters.rb +2 -2
- data/lib/jujube/components/properties.rb +2 -3
- data/lib/jujube/components/publishers.rb +21 -12
- data/lib/jujube/components/scm.rb +2 -2
- data/lib/jujube/components/triggers.rb +4 -4
- data/lib/jujube/components/wrappers.rb +2 -2
- data/lib/jujube/job.rb +19 -19
- data/lib/jujube/version.rb +1 -1
- data/test/components/publishers_test.rb +5 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b6c2f6865104ca807450ab35fd14553583b61667770693a241f686e72a39b241
|
|
4
|
+
data.tar.gz: ecb79e1e4406e03db25bbe0e7d0026bc68f33a93f41d93be4ca1d5bfde2d996b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3c826581df43afb84957189fcbc0138470b1d2a0cdbf5af9cb9d1d56c8da77bdba8d91f2846addf57382c871164cb80311ee288bcbc5b30529c30298e75dfea5
|
|
7
|
+
data.tar.gz: 33099ecaa1c2688d738b4b2e5f62dbc73b700ee776ee277258ae57a7d3544bc2a88174edfa16351d5d135476474b966e7f821114f4977528176354d820b5fffc
|
data/CHANGELOG.md
CHANGED
|
@@ -5,41 +5,48 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased][unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.16.0][0.16.0]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Support the `gtest` test result type in the `xunit` publisher (see
|
|
13
|
+
https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.xunit) ([#20](https://github.com/randycoulman/jujube/pull/20)) (with @robin-verhoeven)
|
|
14
|
+
|
|
8
15
|
## [0.15.0][0.15.0]
|
|
9
16
|
|
|
10
17
|
### Added
|
|
11
18
|
|
|
12
|
-
- Support the `gitlab` trigger (see https://
|
|
19
|
+
- Support the `gitlab` trigger (see https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html#triggers.gitlab) ([#18](https://github.com/randycoulman/jujube/pull/18)) (with @halverneus)
|
|
13
20
|
|
|
14
|
-
- Support the `gitlab-notifier` publisher (see https://
|
|
21
|
+
- Support the `gitlab-notifier` publisher (see https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.gitlab-notifier) ([#19](https://github.com/randycoulman/jujube/pull/19)) (with @halverneus)
|
|
15
22
|
|
|
16
23
|
## [0.14.0][0.14.0]
|
|
17
24
|
|
|
18
25
|
### Added
|
|
19
26
|
|
|
20
27
|
- Support the `concurrent` job attribute
|
|
21
|
-
(see https://
|
|
28
|
+
(see https://jenkins-job-builder.readthedocs.io/en/latest/definition.html?highlight=concurrent) ([#13](https://github.com/randycoulman/jujube/pull/11)) (@mroelandts)
|
|
22
29
|
|
|
23
30
|
## [0.13.0][0.13.0]
|
|
24
31
|
|
|
25
32
|
### Added
|
|
26
33
|
|
|
27
|
-
- Support the `copyartifact` builder (see https://
|
|
34
|
+
- Support the `copyartifact` builder (see https://jenkins-job-builder.readthedocs.io/en/latest/builders.html#builders.copyartifact) ([#11](https://github.com/randycoulman/jujube/pull/11)) (@ktreis)
|
|
28
35
|
|
|
29
36
|
## [0.12.0][0.12.0]
|
|
30
37
|
|
|
31
38
|
### Added
|
|
32
39
|
|
|
33
|
-
- Support the `string` parameter (see
|
|
40
|
+
- Support the `string` parameter (see https://jenkins-job-builder.readthedocs.io/en/latest/parameters.html#parameters.string) ([#3](https://github.com/randycoulman/jujube/pull/3)) (@jgeysens)
|
|
34
41
|
- Support Rake 11.x versions ([#4](https://github.com/randycoulman/jujube/pull/4))
|
|
35
|
-
- Support the `validating_string` parameter (see
|
|
36
|
-
- Support the `trigger_parameterized_builds` publisher (see
|
|
42
|
+
- Support the `validating_string` parameter (see https://jenkins-job-builder.readthedocs.io/en/latest/parameters.html#parameters.validating-string) ([#7](https://github.com/randycoulman/jujube/pull/7))
|
|
43
|
+
- Support the `trigger_parameterized_builds` publisher (see https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.trigger-parameterized-builds) ([#9](https://github.com/randycoulman/jujube/pull/9))
|
|
37
44
|
|
|
38
45
|
## [0.11.0][0.11.0]
|
|
39
46
|
|
|
40
47
|
### Breaking Changes
|
|
41
48
|
|
|
42
|
-
- The `pollscm` component has been updated to conform to the new API in jenkins-job-builder 1.3.0 and later. See
|
|
49
|
+
- The `pollscm` component has been updated to conform to the new API in jenkins-job-builder 1.3.0 and later. See https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html#triggers.pollscm for details of the change. If you need to use the `pollscm` component and older versions of jenkins-job-builder, then stick with version 0.10.0 or earlier of Jujube.
|
|
43
50
|
|
|
44
51
|
- With this release, we are no longer officially supporting Ruby versions less than 2.1. Previous versions of Ruby are [considered end-of-life (EOL)](https://www.ruby-lang.org/en/downloads/) by the Ruby core team.
|
|
45
52
|
|
|
@@ -55,7 +62,7 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
|
55
62
|
|
|
56
63
|
### Added
|
|
57
64
|
|
|
58
|
-
- Support the `priority_sorter` property (see
|
|
65
|
+
- Support the `priority_sorter` property (see https://jenkins-job-builder.readthedocs.io/en/latest/properties.html#properties.priority-sorter).
|
|
59
66
|
- Links to documentation for the `fitnesse` publisher and `store` SCM that have now been merged into jenkins-job-builder.
|
|
60
67
|
- This CHANGELOG.
|
|
61
68
|
|
|
@@ -64,17 +71,17 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
|
64
71
|
### Added
|
|
65
72
|
|
|
66
73
|
- Support the `disabled` job attribute
|
|
67
|
-
(see
|
|
74
|
+
(see https://jenkins-job-builder.readthedocs.io/en/latest/general.html).
|
|
68
75
|
|
|
69
76
|
## [0.8.0][0.8.0] - 2014-10-29
|
|
70
77
|
|
|
71
|
-
- Support the `throttle` job property (see
|
|
78
|
+
- Support the `throttle` job property (see https://jenkins-job-builder.readthedocs.io/en/latest/properties.html#properties.throttle).
|
|
72
79
|
|
|
73
80
|
## [0.7.0][0.7.0] - 2014-10-28
|
|
74
81
|
|
|
75
82
|
### Added
|
|
76
83
|
|
|
77
|
-
- Support the `reverse` trigger (see
|
|
84
|
+
- Support the `reverse` trigger (see https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html#triggers.reverse).
|
|
78
85
|
|
|
79
86
|
## [0.6.0][0.6.0] - 2014-08-25
|
|
80
87
|
|
|
@@ -86,13 +93,13 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
|
86
93
|
|
|
87
94
|
### Added
|
|
88
95
|
|
|
89
|
-
- Support the `fitnesse` publisher (see
|
|
96
|
+
- Support the `fitnesse` publisher (see https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.fitnesse).
|
|
90
97
|
|
|
91
98
|
## [0.5.1][0.5.1] - 2014-04-07
|
|
92
99
|
|
|
93
100
|
### Added
|
|
94
101
|
|
|
95
|
-
- Support the `store` SCM (see
|
|
102
|
+
- Support the `store` SCM (see https://jenkins-job-builder.readthedocs.io/en/latest/scm.html#scm.store).
|
|
96
103
|
|
|
97
104
|
## [0.5.0][0.5.0] - 2014-03-28
|
|
98
105
|
|
|
@@ -100,7 +107,8 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
|
100
107
|
|
|
101
108
|
- Initial public release.
|
|
102
109
|
|
|
103
|
-
[unreleased]: https://github.com/randycoulman/jujube/compare/v0.
|
|
110
|
+
[unreleased]: https://github.com/randycoulman/jujube/compare/v0.16.0...HEAD
|
|
111
|
+
[0.15.0]: https://github.com/randycoulman/jujube/compare/v0.15.0...v0.16.0
|
|
104
112
|
[0.15.0]: https://github.com/randycoulman/jujube/compare/v0.14.0...v0.15.0
|
|
105
113
|
[0.14.0]: https://github.com/randycoulman/jujube/compare/v0.13.0...v0.14.0
|
|
106
114
|
[0.13.0]: https://github.com/randycoulman/jujube/compare/v0.12.0...v0.13.0
|
data/README.md
CHANGED
|
@@ -114,7 +114,7 @@ The following sections and components are supported:
|
|
|
114
114
|
* `wrappers`: (`timeout`, `timestamps`)
|
|
115
115
|
* `builders`: (`copyartifact`, `shell`)
|
|
116
116
|
* `publishers`: (`archive`, `cppcheck`, `email_ext`, `fitnesse`, `ircbot`, `junit`,
|
|
117
|
-
`trigger`, `trigger_parameterized_builds`, `
|
|
117
|
+
`trigger`, `trigger_parameterized_builds`, `xunit` (types `gtest` and `unittest`))
|
|
118
118
|
* `notifications`: None defined yet
|
|
119
119
|
|
|
120
120
|
See [the end-to-end example job](acceptance/fixtures/endToEnd/endToEnd.job) for example
|
|
@@ -122,7 +122,7 @@ uses of all of the supported attributes, sections, and components.
|
|
|
122
122
|
|
|
123
123
|
In general, component options are typically specified as standard Ruby hashes. The option
|
|
124
124
|
names are the same as in the
|
|
125
|
-
[jenkins-job-builder documentation](
|
|
125
|
+
[jenkins-job-builder documentation](https://jenkins-job-builder.readthedocs.io/en/latest/),
|
|
126
126
|
except that you need to use underscores (`_`) instead of dashes (`-`) in the option names.
|
|
127
127
|
|
|
128
128
|
### Helper Methods
|
|
@@ -109,6 +109,7 @@ job "endToEnd" do |j|
|
|
|
109
109
|
git_revision: true)
|
|
110
110
|
end
|
|
111
111
|
j.publishers << xunit do |types|
|
|
112
|
-
types <<
|
|
112
|
+
types << gtest(pattern: "GTEST_PATTERN", deleteoutput: false)
|
|
113
|
+
types << unittest(pattern: "UNITTEST_PATTERN", deleteoutput: false)
|
|
113
114
|
end
|
|
114
115
|
end
|
|
@@ -18,7 +18,8 @@ class AcceptanceTest < Minitest::Test
|
|
|
18
18
|
|
|
19
19
|
def run_jujube(*arguments)
|
|
20
20
|
jujube = bin_directory.join("jujube").to_s
|
|
21
|
-
|
|
21
|
+
env = {"RUBYLIB" => lib_directory.to_s}
|
|
22
|
+
@output, @error_output, @status = Open3.capture3(env, jujube, *arguments)
|
|
22
23
|
end
|
|
23
24
|
|
|
24
25
|
def assert_exits_cleanly
|
|
@@ -41,6 +42,10 @@ class AcceptanceTest < Minitest::Test
|
|
|
41
42
|
acceptance_root.join("..", "bin")
|
|
42
43
|
end
|
|
43
44
|
|
|
45
|
+
def lib_directory
|
|
46
|
+
acceptance_root.join("..", "lib")
|
|
47
|
+
end
|
|
48
|
+
|
|
44
49
|
def acceptance_root
|
|
45
50
|
Pathname.new(__FILE__).dirname.join("..").expand_path
|
|
46
51
|
end
|
|
@@ -7,7 +7,7 @@ module Jujube
|
|
|
7
7
|
|
|
8
8
|
# Specify a `label-expression` axis for a matrix job.
|
|
9
9
|
#
|
|
10
|
-
# See {
|
|
10
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/project_matrix.html}.
|
|
11
11
|
#
|
|
12
12
|
# @param name [Symbol, String] The name of the axis.
|
|
13
13
|
# @param values [Array<String>] The values of the axis.
|
|
@@ -18,7 +18,7 @@ module Jujube
|
|
|
18
18
|
|
|
19
19
|
# Specify a `slave` axis for a matrix job.
|
|
20
20
|
#
|
|
21
|
-
# See {
|
|
21
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/project_matrix.html}.
|
|
22
22
|
#
|
|
23
23
|
# @param name [Symbol, String] The name of the axis.
|
|
24
24
|
# @param values [Array<String>] The values of the axis.
|
|
@@ -31,7 +31,7 @@ module Jujube
|
|
|
31
31
|
|
|
32
32
|
# Specify an axis for a matrix job.
|
|
33
33
|
#
|
|
34
|
-
# See {
|
|
34
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/project_matrix.html}.
|
|
35
35
|
#
|
|
36
36
|
# @param name [Symbol, String] The name of the axis.
|
|
37
37
|
# @param values [Array<String>] The values of the axis.
|
|
@@ -8,7 +8,7 @@ module Jujube
|
|
|
8
8
|
# @!method copyartifact(options = {})
|
|
9
9
|
# Specify a `copyartifact` builder for a job. Requires the `copyartifact` plugin.
|
|
10
10
|
#
|
|
11
|
-
# See {https://
|
|
11
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/builders.html#builders.copyartifact}.
|
|
12
12
|
#
|
|
13
13
|
# @param options [Hash] The configuration options for the component.
|
|
14
14
|
# @return [Hash] The specification for the component.
|
|
@@ -16,7 +16,7 @@ module Jujube
|
|
|
16
16
|
|
|
17
17
|
# Specify a `shell` builder for a job.
|
|
18
18
|
#
|
|
19
|
-
# See {
|
|
19
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/builders.html#builders.shell}.
|
|
20
20
|
#
|
|
21
21
|
# @param command [String] The shell command to execute.
|
|
22
22
|
# @return [Hash] The specification for the component.
|
|
@@ -8,7 +8,7 @@ module Jujube
|
|
|
8
8
|
# @!method string(options = {})
|
|
9
9
|
# Specify a `string` parameter for a job.
|
|
10
10
|
#
|
|
11
|
-
# See {
|
|
11
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/parameters.html#parameters.string}.
|
|
12
12
|
#
|
|
13
13
|
# @param options [Hash] The configuration options for the component.
|
|
14
14
|
# @return [Hash] The specification for the component.
|
|
@@ -17,7 +17,7 @@ module Jujube
|
|
|
17
17
|
# @!method validating_string(options = {})
|
|
18
18
|
# Specify a `validating-string` parameter for a job.
|
|
19
19
|
#
|
|
20
|
-
# See {
|
|
20
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/parameters.html#parameters.validating-string}.
|
|
21
21
|
#
|
|
22
22
|
# @param options [Hash] The configuration options for the component.
|
|
23
23
|
# @return [Hash] The specification for the component.
|
|
@@ -8,7 +8,7 @@ module Jujube
|
|
|
8
8
|
# @!method priority_sorter(options = {})
|
|
9
9
|
# Specify a `priority-sorter` property for a job.
|
|
10
10
|
#
|
|
11
|
-
# See {
|
|
11
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/properties.html#properties.priority-sorter}.
|
|
12
12
|
#
|
|
13
13
|
# @param options [Hash] The configuration options for the component.
|
|
14
14
|
# @return [Hash] The specification for the component.
|
|
@@ -17,7 +17,7 @@ module Jujube
|
|
|
17
17
|
# @!method throttle(options = {})
|
|
18
18
|
# Specify a `throttle` property for a job.
|
|
19
19
|
#
|
|
20
|
-
# See {
|
|
20
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/properties.html#properties.throttle}.
|
|
21
21
|
#
|
|
22
22
|
# @param options [Hash] The configuration options for the component.
|
|
23
23
|
# @return [Hash] The specification for the component.
|
|
@@ -25,4 +25,3 @@ module Jujube
|
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
|
-
|
|
@@ -8,7 +8,7 @@ module Jujube
|
|
|
8
8
|
# @!method archive(options = {})
|
|
9
9
|
# Specify an `archive` publisher for a job.
|
|
10
10
|
#
|
|
11
|
-
# See {
|
|
11
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.archive}.
|
|
12
12
|
#
|
|
13
13
|
# @param options [Hash] The configuration options for the component.
|
|
14
14
|
# @return [Hash] The specification for the component.
|
|
@@ -17,7 +17,7 @@ module Jujube
|
|
|
17
17
|
# @!method cppcheck(options = {})
|
|
18
18
|
# Specify a `cppcheck` publisher for a job.
|
|
19
19
|
#
|
|
20
|
-
# See {
|
|
20
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.cppcheck}.
|
|
21
21
|
#
|
|
22
22
|
# @param options [Hash] The configuration options for the component.
|
|
23
23
|
# @return [Hash] The specification for the component.
|
|
@@ -26,7 +26,7 @@ module Jujube
|
|
|
26
26
|
# @!method email_ext(options = {})
|
|
27
27
|
# Specify an `email-ext` publisher for a job.
|
|
28
28
|
#
|
|
29
|
-
# See {
|
|
29
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.email-ext}.
|
|
30
30
|
#
|
|
31
31
|
# @param options [Hash] The configuration options for the component.
|
|
32
32
|
# @return [Hash] The specification for the component.
|
|
@@ -35,7 +35,7 @@ module Jujube
|
|
|
35
35
|
# @!method fitnesse(options = {})
|
|
36
36
|
# Specify a `fitnesse` publisher for a job.
|
|
37
37
|
#
|
|
38
|
-
# See {
|
|
38
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.fitnesse}.
|
|
39
39
|
#
|
|
40
40
|
# @param options [Hash] The configuration options for the component.
|
|
41
41
|
# @return [Hash] The specification for the component.
|
|
@@ -44,7 +44,7 @@ module Jujube
|
|
|
44
44
|
# @!method gitlab_notifier(options = {})
|
|
45
45
|
# Specify a `gitlab-notifier` publisher for a job.
|
|
46
46
|
#
|
|
47
|
-
# See {https://
|
|
47
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.gitlab-notifier}.
|
|
48
48
|
#
|
|
49
49
|
# @param options [Hash] The configuration options for the component.
|
|
50
50
|
# @return [Hash] The specification for the component.
|
|
@@ -53,7 +53,7 @@ module Jujube
|
|
|
53
53
|
# @!method ircbot(options = {})
|
|
54
54
|
# Specify an `ircbot` publisher for a job.
|
|
55
55
|
#
|
|
56
|
-
# See {
|
|
56
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.ircbot}.
|
|
57
57
|
#
|
|
58
58
|
# @param options [Hash] The configuration options for the component.
|
|
59
59
|
# @return [Hash] The specification for the component.
|
|
@@ -62,7 +62,7 @@ module Jujube
|
|
|
62
62
|
# @!method junit(options = {})
|
|
63
63
|
# Specify a `junit` publisher for a job.
|
|
64
64
|
#
|
|
65
|
-
# See {
|
|
65
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.junit}.
|
|
66
66
|
#
|
|
67
67
|
# @param options [Hash] The configuration options for the component.
|
|
68
68
|
# @return [Hash] The specification for the component.
|
|
@@ -71,7 +71,7 @@ module Jujube
|
|
|
71
71
|
# @!method trigger(options = {})
|
|
72
72
|
# Specify a `trigger` publisher for a job.
|
|
73
73
|
#
|
|
74
|
-
# See {
|
|
74
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.trigger}.
|
|
75
75
|
#
|
|
76
76
|
# @param options [Hash] The configuration options for the component.
|
|
77
77
|
# @return [Hash] The specification for the component.
|
|
@@ -79,7 +79,7 @@ module Jujube
|
|
|
79
79
|
|
|
80
80
|
# Specify a `trigger-parameterized-builds` publisher for a job.
|
|
81
81
|
#
|
|
82
|
-
# See {
|
|
82
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.trigger-parameterized-builds}.
|
|
83
83
|
#
|
|
84
84
|
# `trigger-parameterized-builds` can trigger multiple sets of builds,
|
|
85
85
|
# each with their own configuration. Each build specification is added
|
|
@@ -104,7 +104,7 @@ module Jujube
|
|
|
104
104
|
|
|
105
105
|
# Specify an `xunit` publisher for a job.
|
|
106
106
|
#
|
|
107
|
-
# See {
|
|
107
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.xunit}.
|
|
108
108
|
#
|
|
109
109
|
# `xunit` can publish multiple sets of test results. The specification for each set
|
|
110
110
|
# of test results is added in a nested configuration block using the {#unittest} method.
|
|
@@ -128,7 +128,7 @@ module Jujube
|
|
|
128
128
|
|
|
129
129
|
# Configure a `build` for a {#trigger_parameterized_builds} publisher.
|
|
130
130
|
#
|
|
131
|
-
# See {
|
|
131
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.trigger-parameterized-builds}.
|
|
132
132
|
#
|
|
133
133
|
# @param options [Hash] The configuration options for the build.
|
|
134
134
|
# @return [Hash] The specification for the build.
|
|
@@ -158,10 +158,19 @@ module Jujube
|
|
|
158
158
|
|
|
159
159
|
# @!group xunit Test Types
|
|
160
160
|
|
|
161
|
+
# @!method gtest(options = {})
|
|
162
|
+
# Configure a `gtest` test type for an {#xunit} publisher.
|
|
163
|
+
#
|
|
164
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.xunit}.
|
|
165
|
+
#
|
|
166
|
+
# @param options [Hash] The configuration options for the test type.
|
|
167
|
+
# @return [Hash] The specification for the test type.
|
|
168
|
+
named_config :gtest
|
|
169
|
+
|
|
161
170
|
# @!method unittest(options = {})
|
|
162
171
|
# Configure a `unittest` test type for an {#xunit} publisher.
|
|
163
172
|
#
|
|
164
|
-
# See {
|
|
173
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#publishers.xunit}.
|
|
165
174
|
#
|
|
166
175
|
# @param options [Hash] The configuration options for the test type.
|
|
167
176
|
# @return [Hash] The specification for the test type.
|
|
@@ -8,7 +8,7 @@ module Jujube
|
|
|
8
8
|
# @!method git(options = {})
|
|
9
9
|
# Specify a `git` SCM for a job.
|
|
10
10
|
#
|
|
11
|
-
# See {
|
|
11
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#scm.git}.
|
|
12
12
|
#
|
|
13
13
|
# @param options [Hash] The configuration options for the component.
|
|
14
14
|
# @return [Hash] The specification for the component.
|
|
@@ -16,7 +16,7 @@ module Jujube
|
|
|
16
16
|
|
|
17
17
|
# Specify a `store` SCM for a job.
|
|
18
18
|
#
|
|
19
|
-
# See {
|
|
19
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/scm.html#scm.store}.
|
|
20
20
|
#
|
|
21
21
|
# `store` can watch multiple pundles (packages or bundles) The specification for each
|
|
22
22
|
# pundle is added in a nested configuration block using the {#package} or {#bundle} method.
|
|
@@ -8,7 +8,7 @@ module Jujube
|
|
|
8
8
|
# @!method gitlab(options = {})
|
|
9
9
|
# Specify a `gitlab` trigger for a job.
|
|
10
10
|
#
|
|
11
|
-
# See {https://
|
|
11
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html#triggers.gitlab}.
|
|
12
12
|
#
|
|
13
13
|
# @param options [Hash] The configuration options for the component.
|
|
14
14
|
# @return [Hash] The specification for the component.
|
|
@@ -19,7 +19,7 @@ module Jujube
|
|
|
19
19
|
#
|
|
20
20
|
# This trigger requires jenkins-job-builder 1.3.0 or later.
|
|
21
21
|
#
|
|
22
|
-
# See {
|
|
22
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html#triggers.pollscm}.
|
|
23
23
|
#
|
|
24
24
|
# @param options [Hash] The configuration options for the component.
|
|
25
25
|
# @return [Hash] The specification for the component.
|
|
@@ -27,7 +27,7 @@ module Jujube
|
|
|
27
27
|
|
|
28
28
|
# Specify a `pollurl` trigger for a job.
|
|
29
29
|
#
|
|
30
|
-
# See {
|
|
30
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html#triggers.pollurl}.
|
|
31
31
|
#
|
|
32
32
|
# `pollurl` can poll several URLs. Each URL specification is added
|
|
33
33
|
# in a nested configuration block using the {#url} method.
|
|
@@ -51,7 +51,7 @@ module Jujube
|
|
|
51
51
|
|
|
52
52
|
# Specify a `reverse` trigger for a job.
|
|
53
53
|
#
|
|
54
|
-
# See {
|
|
54
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html#triggers.reverse}.
|
|
55
55
|
#
|
|
56
56
|
# @param options [Hash] The reverse project trigger options.
|
|
57
57
|
# @option options [String, Array<String>] :jobs The jobs to watch. Note that
|
|
@@ -8,7 +8,7 @@ module Jujube
|
|
|
8
8
|
# @!method timeout(options = {})
|
|
9
9
|
# Specify a `timeout` wrapper for a job.
|
|
10
10
|
#
|
|
11
|
-
# See {
|
|
11
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html#wrappers.timeout}.
|
|
12
12
|
#
|
|
13
13
|
# @param options [Hash] The configuration options for the component.
|
|
14
14
|
# @return [Hash] The specification for the component.
|
|
@@ -16,7 +16,7 @@ module Jujube
|
|
|
16
16
|
|
|
17
17
|
# Specify a `timestamps` wrapper for a job.
|
|
18
18
|
#
|
|
19
|
-
# See {
|
|
19
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/wrappers.html#wrappers.timestamps}.
|
|
20
20
|
#
|
|
21
21
|
# @return [Hash] The specification for the component.
|
|
22
22
|
def timestamps
|
data/lib/jujube/job.rb
CHANGED
|
@@ -27,7 +27,7 @@ module Jujube
|
|
|
27
27
|
# @!attribute name
|
|
28
28
|
# The name of the job - will be the name as seen in Jenkins.
|
|
29
29
|
#
|
|
30
|
-
# See {
|
|
30
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
31
31
|
#
|
|
32
32
|
# @return [String]
|
|
33
33
|
attribute :name
|
|
@@ -36,7 +36,7 @@ module Jujube
|
|
|
36
36
|
# The type of job. This normally does not need to be specified, as it
|
|
37
37
|
# will be inferred as `matrix` if any `axes` are added.
|
|
38
38
|
#
|
|
39
|
-
# See {
|
|
39
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
40
40
|
#
|
|
41
41
|
# @return [String]
|
|
42
42
|
attribute :project_type
|
|
@@ -44,7 +44,7 @@ module Jujube
|
|
|
44
44
|
# @!attribute description
|
|
45
45
|
# The description of the job.
|
|
46
46
|
#
|
|
47
|
-
# See {
|
|
47
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
48
48
|
#
|
|
49
49
|
# @return [String]
|
|
50
50
|
attribute :description
|
|
@@ -52,7 +52,7 @@ module Jujube
|
|
|
52
52
|
# @!attribute node
|
|
53
53
|
# The Jenkins node or named group where the job should be run.
|
|
54
54
|
#
|
|
55
|
-
# See {
|
|
55
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
56
56
|
#
|
|
57
57
|
# @return [String]
|
|
58
58
|
attribute :node
|
|
@@ -60,7 +60,7 @@ module Jujube
|
|
|
60
60
|
# @!attribute block_upstream
|
|
61
61
|
# `true` if this job should block while upstream jobs are running.
|
|
62
62
|
#
|
|
63
|
-
# See {
|
|
63
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
64
64
|
#
|
|
65
65
|
# @return [Boolean]
|
|
66
66
|
attribute :block_upstream
|
|
@@ -68,7 +68,7 @@ module Jujube
|
|
|
68
68
|
# @!attribute block_downstream
|
|
69
69
|
# `true` if this job should block while downstream jobs are running.
|
|
70
70
|
#
|
|
71
|
-
# See {
|
|
71
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
72
72
|
#
|
|
73
73
|
# @return [Boolean]
|
|
74
74
|
attribute :block_downstream
|
|
@@ -76,7 +76,7 @@ module Jujube
|
|
|
76
76
|
# @!attribute quiet_period
|
|
77
77
|
# Number of seconds to wait between consecutive runs of the job.
|
|
78
78
|
#
|
|
79
|
-
# See {
|
|
79
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
80
80
|
#
|
|
81
81
|
# @return [Fixnum]
|
|
82
82
|
attribute :quiet_period
|
|
@@ -84,7 +84,7 @@ module Jujube
|
|
|
84
84
|
# @!attribute concurrent
|
|
85
85
|
# `true` if this job should be concurrent.
|
|
86
86
|
#
|
|
87
|
-
# See {https://
|
|
87
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html?highlight=concurrent}.
|
|
88
88
|
#
|
|
89
89
|
# @return [Boolean]
|
|
90
90
|
attribute :concurrent
|
|
@@ -92,7 +92,7 @@ module Jujube
|
|
|
92
92
|
# @!attribute disabled
|
|
93
93
|
# `true` if this job should be disabled.
|
|
94
94
|
#
|
|
95
|
-
# See {
|
|
95
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html}.
|
|
96
96
|
#
|
|
97
97
|
# @return [Boolean]
|
|
98
98
|
attribute :disabled
|
|
@@ -104,7 +104,7 @@ module Jujube
|
|
|
104
104
|
# Sections are listed in the order specified under Module Execution in the
|
|
105
105
|
# Jenkins Job Builder documentation.
|
|
106
106
|
#
|
|
107
|
-
# See {
|
|
107
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/definition.html#module-execution}.
|
|
108
108
|
|
|
109
109
|
# @!method axes
|
|
110
110
|
# The matrix axes for the job.
|
|
@@ -112,7 +112,7 @@ module Jujube
|
|
|
112
112
|
# Add axes in the job's configuration block using helper methods defined in
|
|
113
113
|
# {Components::Parameters}.
|
|
114
114
|
#
|
|
115
|
-
# See {
|
|
115
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/project_matrix.html}.
|
|
116
116
|
#
|
|
117
117
|
# @return [Array]
|
|
118
118
|
section :axes
|
|
@@ -123,7 +123,7 @@ module Jujube
|
|
|
123
123
|
# Add parameters in the job's configuration block using helper methods defined in
|
|
124
124
|
# {Components::Parameters}.
|
|
125
125
|
#
|
|
126
|
-
# See {
|
|
126
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/parameters.html}.
|
|
127
127
|
#
|
|
128
128
|
# @return [Array]
|
|
129
129
|
section :parameters
|
|
@@ -134,7 +134,7 @@ module Jujube
|
|
|
134
134
|
# Add properties in the job's configuration block using helper methods defined in
|
|
135
135
|
# {Components::Properties}.
|
|
136
136
|
#
|
|
137
|
-
# See {
|
|
137
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/properties.html}.
|
|
138
138
|
#
|
|
139
139
|
# @return [Array]
|
|
140
140
|
section :properties
|
|
@@ -145,7 +145,7 @@ module Jujube
|
|
|
145
145
|
# Add SCMs in the job's configuration block using helper methods defined in
|
|
146
146
|
# {Components::Scm}.
|
|
147
147
|
#
|
|
148
|
-
# See {
|
|
148
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/scm.html}.
|
|
149
149
|
#
|
|
150
150
|
# @return [Array]
|
|
151
151
|
section :scm
|
|
@@ -156,7 +156,7 @@ module Jujube
|
|
|
156
156
|
# Add triggers in the job's configuration block using helper methods defined in
|
|
157
157
|
# {Components::Triggers}.
|
|
158
158
|
#
|
|
159
|
-
# See {
|
|
159
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/triggers.html}.
|
|
160
160
|
#
|
|
161
161
|
# @return [Array]
|
|
162
162
|
section :triggers
|
|
@@ -167,7 +167,7 @@ module Jujube
|
|
|
167
167
|
# Add wrappers in the job's configuration block using helper methods defined in
|
|
168
168
|
# {Components::Wrappers}.
|
|
169
169
|
#
|
|
170
|
-
# See {
|
|
170
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/wrappers.html}.
|
|
171
171
|
#
|
|
172
172
|
# @return [Array]
|
|
173
173
|
section :wrappers
|
|
@@ -178,7 +178,7 @@ module Jujube
|
|
|
178
178
|
# Add builders in the job's configuration block using helper methods defined in
|
|
179
179
|
# {Components::Builders}.
|
|
180
180
|
#
|
|
181
|
-
# See {
|
|
181
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/builders.html}.
|
|
182
182
|
#
|
|
183
183
|
# @return [Array]
|
|
184
184
|
section :builders
|
|
@@ -189,7 +189,7 @@ module Jujube
|
|
|
189
189
|
# Add publishers in the job's configuration block using helper methods defined in
|
|
190
190
|
# {Components::Publishers}.
|
|
191
191
|
#
|
|
192
|
-
# See {
|
|
192
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/publishers.html}.
|
|
193
193
|
#
|
|
194
194
|
# @return [Array]
|
|
195
195
|
section :publishers
|
|
@@ -200,7 +200,7 @@ module Jujube
|
|
|
200
200
|
# Add notifications in the job's configuration block using helper methods defined in
|
|
201
201
|
# {Components::Notifications}.
|
|
202
202
|
#
|
|
203
|
-
# See {
|
|
203
|
+
# See {https://jenkins-job-builder.readthedocs.io/en/latest/notifications.html}.
|
|
204
204
|
#
|
|
205
205
|
# @return [Array]
|
|
206
206
|
section :notifications
|
data/lib/jujube/version.rb
CHANGED
|
@@ -109,11 +109,14 @@ class PublishersTest < Minitest::Test
|
|
|
109
109
|
|
|
110
110
|
def test_xunit
|
|
111
111
|
expected = {"xunit" =>
|
|
112
|
-
{"types" =>
|
|
113
|
-
|
|
112
|
+
{"types" => [
|
|
113
|
+
{"gtest" => {"pattern" => "PATTERN", "deleteoutput" => false}},
|
|
114
|
+
{"unittest" => {"pattern" => "PATTERN", "deleteoutput" => false}}
|
|
115
|
+
]
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
118
|
actual = xunit do |types|
|
|
119
|
+
types << gtest(pattern: "PATTERN", deleteoutput: false)
|
|
117
120
|
types << unittest(pattern: "PATTERN", deleteoutput: false)
|
|
118
121
|
end
|
|
119
122
|
assert_equal(expected, actual)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jujube
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.16.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Randy Coulman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-05-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|