jujube 0.6.0 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9ba3b21e05c514931114ac2dd613f783e3a552fd
4
- data.tar.gz: f2b71977e9e4692ab5d79365b8f607482493a3d6
3
+ metadata.gz: 224fc3cfd4590bf989a3250b87bdaaf8569da6c1
4
+ data.tar.gz: 39c38bb2cfcc91f4d2ded9db0acbf0d1823ff57b
5
5
  SHA512:
6
- metadata.gz: 1fe3624538c5ff052a0fc48e8a5785b674616c9630de439c07c9a48ecf9688da4808df0fa0dcb41dc9acc726c0f815f57e5c3b46d3030c1cfc21781360fb6741
7
- data.tar.gz: 1a69120b5c82a0949712c395bec634b2937fab5f6aee8df44cd68b50ebd9bcbff866639e7e154cc367e15b94da2eb03b1ea2f248b694ae9782f192ecb58e24d2
6
+ metadata.gz: e5f79ab079fd8d4beecfb73006089fcf5697738838ac48b04a80fae7e44202a80bf79880fb4f81825efc9fa58c10a87dd4b236cf5e0a8e21e8d12e9f211dfb7c
7
+ data.tar.gz: d55cefbcb91d323e85d9b9338fafcd30d39259e9949328635b0a76ae548468566781af465c933ff0e54449aff4b84f23d20c8888d540d954d7b5804db20e1379
data/README.md CHANGED
@@ -176,9 +176,12 @@ tackle it, contact me and I'll be happy to help.
176
176
 
177
177
  1. Fork it
178
178
  2. Create your feature branch (`git checkout -b my-new-feature`)
179
- 3. Commit your changes (`git commit -am 'Add some feature'`)
180
- 4. Push to the branch (`git push origin my-new-feature`)
181
- 5. Create new Pull Request
179
+ 3. Make your change. Please follow the coding conventions of the project and write good unit tests.
180
+ If you are adding a new component, please update `acceptance/fixtures/endToEnd/endToEnd.job` and
181
+ `acceptance/fixtures/endToEnd/expected.yml` as well.
182
+ 4. Commit your changes (`git commit -am 'Add some feature'`)
183
+ 5. Push to the branch (`git push origin my-new-feature`)
184
+ 6. Create new Pull Request
182
185
 
183
186
  ## Acknowledgements
184
187
 
@@ -32,6 +32,7 @@ job "endToEnd" do |j|
32
32
  content << text("REGEX1", "REGEX2")
33
33
  end
34
34
  end
35
+ j.triggers << reverse(jobs: %w{PROJECT1 PROJECT2}, result: 'unstable')
35
36
 
36
37
  j.wrappers << timeout(type: 'elastic', elastic_percentage: 150, elastic_default_timeout: 5, fail: true)
37
38
  j.wrappers << timestamps
@@ -55,6 +55,9 @@
55
55
  - text:
56
56
  - REGEX1
57
57
  - REGEX2
58
+ - reverse:
59
+ jobs: "PROJECT1, PROJECT2"
60
+ result: unstable
58
61
  wrappers:
59
62
  - timeout:
60
63
  type: elastic
@@ -39,6 +39,22 @@ module Jujube
39
39
  to_config("pollurl", nested_options(:urls, options, &block))
40
40
  end
41
41
 
42
+ # Specify a `reverse` trigger for a job.
43
+ #
44
+ # See {http://ci.openstack.org/jenkins-job-builder/triggers.html#triggers.reverse}.
45
+ #
46
+ # @param options [Hash] The reverse project trigger options.
47
+ # @option options [String, Array<String>] :jobs The jobs to watch. Note that
48
+ # jenkins-job-builder takes a string of comma-separated job names; Jujube does that
49
+ # formatting automatically, so pass in a String or Array of Strings.
50
+ # @option options [String] :result Build results to monitor for.
51
+ # One of 'success', 'unstable' or 'failure'.
52
+ # @return [Hash] The specification for the component.
53
+ def reverse(options = {})
54
+ formatted_jobs = Array(options[:jobs]).join(", ")
55
+ to_config("reverse", options.merge(jobs: formatted_jobs))
56
+ end
57
+
42
58
  # @!group pollurl Helpers
43
59
 
44
60
  # Configure a URL to poll in a {#pollurl} component.
@@ -1,3 +1,3 @@
1
1
  module Jujube
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -78,4 +78,10 @@ class TriggersTest < Minitest::Test
78
78
  end
79
79
  assert_equal(expected, actual)
80
80
  end
81
+
82
+ def test_reverse
83
+ expected = { "reverse" => { "jobs" => "foo, bar", "result" => "success" } }
84
+ actual = reverse(jobs: %w{foo bar}, result: "success")
85
+ assert_equal(expected, actual)
86
+ end
81
87
  end
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.6.0
4
+ version: 0.7.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: 2014-08-26 00:00:00.000000000 Z
11
+ date: 2014-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler