jujube 0.14.0 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +4 -1
- data/CHANGELOG.md +10 -1
- data/acceptance/fixtures/endToEnd/endToEnd.job +23 -0
- data/acceptance/fixtures/endToEnd/expected.yml +60 -32
- data/lib/jujube/components/publishers.rb +9 -0
- data/lib/jujube/components/triggers.rb +9 -0
- data/lib/jujube/version.rb +1 -1
- data/test/components/publishers_test.rb +5 -0
- data/test/components/triggers_test.rb +16 -0
- 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: a148bb517bd4ae2bd3a7f5b7c30a22b8b9d90208a4110cb147242f3774fb0f6b
|
4
|
+
data.tar.gz: 73d85983940938cdb5fa875019f2c03bf458afea2a63d49b676929577aa10f8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4327e583553f38d9c23380512dd3706cbf6902a3a71820cced4d8601957872ad435a7cea49ad4f37da06bf3e2da0f5e029322002ad8ed120ed4238e50e9c0a8
|
7
|
+
data.tar.gz: 730a71f92867705079e3ffcd31b8afaa61ae6c2bd63fb39b86336d70968df6876d8d201f6b2bcf8189328ea2154da406b077e7d0bfd30b38c73ebf0da6fd884e
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,14 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
5
5
|
|
6
6
|
## [Unreleased][unreleased]
|
7
7
|
|
8
|
+
## [0.15.0][0.15.0]
|
9
|
+
|
10
|
+
### Added
|
11
|
+
|
12
|
+
- Support the `gitlab` trigger (see https://docs.openstack.org/infra/jenkins-job-builder/triggers.html#triggers.gitlab) ([#18](https://github.com/randycoulman/jujube/pull/18)) (with @halverneus)
|
13
|
+
|
14
|
+
- Support the `gitlab-notifier` publisher (see https://docs.openstack.org/infra/jenkins-job-builder/publishers.html#publishers.gitlab-notifier) ([#19](https://github.com/randycoulman/jujube/pull/19)) (with @halverneus)
|
15
|
+
|
8
16
|
## [0.14.0][0.14.0]
|
9
17
|
|
10
18
|
### Added
|
@@ -92,7 +100,8 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
92
100
|
|
93
101
|
- Initial public release.
|
94
102
|
|
95
|
-
[unreleased]: https://github.com/randycoulman/jujube/compare/v0.
|
103
|
+
[unreleased]: https://github.com/randycoulman/jujube/compare/v0.15.0...HEAD
|
104
|
+
[0.15.0]: https://github.com/randycoulman/jujube/compare/v0.14.0...v0.15.0
|
96
105
|
[0.14.0]: https://github.com/randycoulman/jujube/compare/v0.13.0...v0.14.0
|
97
106
|
[0.13.0]: https://github.com/randycoulman/jujube/compare/v0.12.0...v0.13.0
|
98
107
|
[0.12.0]: https://github.com/randycoulman/jujube/compare/v0.11.0...v0.12.0
|
@@ -31,6 +31,28 @@ job "endToEnd" do |j|
|
|
31
31
|
pundles << package("PACKAGE") << bundle("BUNDLE")
|
32
32
|
end
|
33
33
|
|
34
|
+
j.triggers << gitlab(
|
35
|
+
trigger_push: true,
|
36
|
+
trigger_merge_request: false,
|
37
|
+
trigger_accepted_merge_request: true,
|
38
|
+
trigger_closed_merge_request: false,
|
39
|
+
trigger_open_merge_request_push: "source",
|
40
|
+
trigger_note: true,
|
41
|
+
note_regex: "plz build",
|
42
|
+
ci_skip: false,
|
43
|
+
wip_skip: true,
|
44
|
+
set_build_description: false,
|
45
|
+
add_note_merge_request: true,
|
46
|
+
add_vote_merge_request: false,
|
47
|
+
accept_merge_request_on_success: true,
|
48
|
+
add_ci_message: false,
|
49
|
+
allow_all_branches: true,
|
50
|
+
branch_filter_type: "All",
|
51
|
+
include_branches: %w{branch1 branch2},
|
52
|
+
exclude_branches: %w{branch3 branch4},
|
53
|
+
target_branch_regex: "branch.*",
|
54
|
+
secret_token: "s3kr3t"
|
55
|
+
)
|
34
56
|
j.triggers << pollscm(cron: "INTERVAL", ignore_post_commit_hooks: true)
|
35
57
|
j.triggers << pollurl(cron: "CRON", polling_node: "NODE") do |urls|
|
36
58
|
urls << url("URL",
|
@@ -59,6 +81,7 @@ job "endToEnd" do |j|
|
|
59
81
|
j.publishers << cppcheck(pattern: "PATTERN")
|
60
82
|
j.publishers << email_ext(recipients: %w{fred barney})
|
61
83
|
j.publishers << fitnesse(results: "FITNESSE_RESULTS")
|
84
|
+
j.publishers << gitlab_notifier(name: "GITLAB", mark_unstable_as_success: true)
|
62
85
|
j.publishers << ircbot(notify_start: true)
|
63
86
|
j.publishers << junit(results: "RESULTS", keep_long_stdio: false)
|
64
87
|
j.publishers << trigger(project: "PROJECT")
|
@@ -54,6 +54,31 @@
|
|
54
54
|
- package: PACKAGE
|
55
55
|
- bundle: BUNDLE
|
56
56
|
triggers:
|
57
|
+
- gitlab:
|
58
|
+
trigger-push: true
|
59
|
+
trigger-merge-request: false
|
60
|
+
trigger-accepted-merge-request: true
|
61
|
+
trigger-closed-merge-request: false
|
62
|
+
trigger-open-merge-request-push: source
|
63
|
+
trigger-note: true
|
64
|
+
note-regex: plz build
|
65
|
+
ci-skip: false
|
66
|
+
wip-skip: true
|
67
|
+
set-build-description: false
|
68
|
+
add-note-merge-request: true
|
69
|
+
add-vote-merge-request: false
|
70
|
+
accept-merge-request-on-success: true
|
71
|
+
add-ci-message: false
|
72
|
+
allow-all-branches: true
|
73
|
+
branch-filter-type: All
|
74
|
+
include-branches:
|
75
|
+
- branch1
|
76
|
+
- branch2
|
77
|
+
exclude-branches:
|
78
|
+
- branch3
|
79
|
+
- branch4
|
80
|
+
target-branch-regex: "branch.*"
|
81
|
+
secret-token: s3kr3t
|
57
82
|
- pollscm:
|
58
83
|
cron: INTERVAL
|
59
84
|
ignore-post-commit-hooks: true
|
@@ -72,14 +97,14 @@
|
|
72
97
|
check-content:
|
73
98
|
- simple: true
|
74
99
|
- json:
|
75
|
-
|
76
|
-
|
100
|
+
- JSON_PATH1
|
101
|
+
- JSON_PATH2
|
77
102
|
- xml:
|
78
|
-
|
79
|
-
|
103
|
+
- XPATH1
|
104
|
+
- XPATH2
|
80
105
|
- text:
|
81
|
-
|
82
|
-
|
106
|
+
- REGEX1
|
107
|
+
- REGEX2
|
83
108
|
- reverse:
|
84
109
|
jobs: "PROJECT1, PROJECT2"
|
85
110
|
result: unstable
|
@@ -110,6 +135,9 @@
|
|
110
135
|
- barney
|
111
136
|
- fitnesse:
|
112
137
|
results: FITNESSE_RESULTS
|
138
|
+
- gitlab-notifier:
|
139
|
+
name: GITLAB
|
140
|
+
mark-unstable-as-success: true
|
113
141
|
- ircbot:
|
114
142
|
notify-start: true
|
115
143
|
- junit:
|
@@ -118,34 +146,34 @@
|
|
118
146
|
- trigger:
|
119
147
|
project: PROJECT
|
120
148
|
- trigger-parameterized-builds:
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
149
|
+
- project:
|
150
|
+
- PROJECT1
|
151
|
+
- PROJECT2
|
152
|
+
predefined-parameters: |
|
153
|
+
param1=VALUE1
|
154
|
+
param2=VALUE2
|
155
|
+
current-parameters: true
|
156
|
+
node-parameters: false
|
157
|
+
svn-revision: true
|
158
|
+
include-upstream: false
|
159
|
+
git-revision:
|
160
|
+
combine-queued-commits: true
|
161
|
+
boolean-parameters:
|
134
162
|
bool1: true
|
135
163
|
bool2: false
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
164
|
+
condition: FAILED_OR_BETTER
|
165
|
+
property-file: FILE.properties
|
166
|
+
fail-on-missing: true
|
167
|
+
use-matrix-child-files: false
|
168
|
+
only-exact-matrix-child-runs: true
|
169
|
+
file-encoding: UTF-8
|
170
|
+
trigger-with-no-params: false
|
171
|
+
restrict-matrix-project: label=="x86"
|
172
|
+
node-label-name: LABEL_NAME
|
173
|
+
node-label: LABEL
|
174
|
+
- project: SINGLE_PROJECT
|
175
|
+
predefined-parameters: param=VALUE
|
176
|
+
git-revision: true
|
149
177
|
- xunit:
|
150
178
|
types:
|
151
179
|
- unittest:
|
@@ -41,6 +41,15 @@ module Jujube
|
|
41
41
|
# @return [Hash] The specification for the component.
|
42
42
|
standard_component :fitnesse
|
43
43
|
|
44
|
+
# @!method gitlab_notifier(options = {})
|
45
|
+
# Specify a `gitlab-notifier` publisher for a job.
|
46
|
+
#
|
47
|
+
# See {https://docs.openstack.org/infra/jenkins-job-builder/publishers.html#publishers.gitlab-notifier}.
|
48
|
+
#
|
49
|
+
# @param options [Hash] The configuration options for the component.
|
50
|
+
# @return [Hash] The specification for the component.
|
51
|
+
standard_component :gitlab_notifier
|
52
|
+
|
44
53
|
# @!method ircbot(options = {})
|
45
54
|
# Specify an `ircbot` publisher for a job.
|
46
55
|
#
|
@@ -5,6 +5,15 @@ module Jujube
|
|
5
5
|
module Triggers
|
6
6
|
extend Macros
|
7
7
|
|
8
|
+
# @!method gitlab(options = {})
|
9
|
+
# Specify a `gitlab` trigger for a job.
|
10
|
+
#
|
11
|
+
# See {https://docs.openstack.org/infra/jenkins-job-builder/triggers.html#triggers.gitlab}.
|
12
|
+
#
|
13
|
+
# @param options [Hash] The configuration options for the component.
|
14
|
+
# @return [Hash] The specification for the component.
|
15
|
+
standard_component :gitlab
|
16
|
+
|
8
17
|
# @!method pollscm(options = {})
|
9
18
|
# Specify a `pollscm` trigger for a job.
|
10
19
|
#
|
data/lib/jujube/version.rb
CHANGED
@@ -27,6 +27,11 @@ class PublishersTest < Minitest::Test
|
|
27
27
|
assert_equal(expected, fitnesse(results: "RESULTS"))
|
28
28
|
end
|
29
29
|
|
30
|
+
def test_gitlab_notifier
|
31
|
+
expected = {"gitlab-notifier" => {"name" => "NAME"}}
|
32
|
+
assert_equal(expected, gitlab_notifier(name: "NAME"))
|
33
|
+
end
|
34
|
+
|
30
35
|
def test_ircbot
|
31
36
|
expected = {"ircbot" => {"notify-start" => true}}
|
32
37
|
assert_equal(expected, ircbot(notify_start: true))
|
@@ -3,6 +3,22 @@ require_relative "../test_helper"
|
|
3
3
|
class TriggersTest < Minitest::Test
|
4
4
|
include Jujube::Components
|
5
5
|
|
6
|
+
def test_gitlab
|
7
|
+
expected = {
|
8
|
+
"gitlab" => {
|
9
|
+
"trigger-note" => false,
|
10
|
+
"target-branch-regex" => "branches.*",
|
11
|
+
"include-branches" => ["b1", "b2"]
|
12
|
+
}
|
13
|
+
}
|
14
|
+
actual = gitlab(
|
15
|
+
trigger_note: false,
|
16
|
+
target_branch_regex: "branches.*",
|
17
|
+
include_branches: %w{b1 b2}
|
18
|
+
)
|
19
|
+
assert_equal(expected, actual)
|
20
|
+
end
|
21
|
+
|
6
22
|
def test_pollscm
|
7
23
|
expected = {
|
8
24
|
"pollscm" => {
|
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.15.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: 2021-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|