jujube 0.12.0 → 0.13.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
- SHA1:
3
- metadata.gz: d1899d2c440e2e60202c88f29a5d90aaa45777aa
4
- data.tar.gz: 25b2892d7bccb5b856025e826fac787dd917527f
2
+ SHA256:
3
+ metadata.gz: f5d273e531a84f934e45a965ab2984c09a327647235554c0831290a298d7d5e5
4
+ data.tar.gz: a2c42a4981849525fdd7387baa5fb193a7a02dbd15e6e49c0df72b796898f3af
5
5
  SHA512:
6
- metadata.gz: ace24b0117da72efc6548ff513a3eec219cfaca63a623287f05644f83c74e69afba1bec1a0196c2e0504e5b2763c065f9b42d6875fcc41d64b75a0e1216281d3
7
- data.tar.gz: 0676524d33bd24cfad3bc54338cb29ec2a8b7a4d0bfc8dd8ca6f4793dcb3bf14218abcd24e29552ee82217144aee9c6e5de78a4d7f19ac14fac7d7616a58dc16
6
+ metadata.gz: 19358c0261048502bb9fd9182fa08b7e71d0aae13e4b89120eb430962d85d36d61c221c1479ce102bf068804f10d939d4001f3f8aa9a5107af2109752f34172c
7
+ data.tar.gz: 395ef00d07ff4aed36e18ad7b3105598a8719a8dac1b7776fdb744626bc484a49ee92da5177104ac97f23f6c7789c49db3ef1dadc595025970617752fa932365
data/.travis.yml CHANGED
@@ -1,12 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.3.0
4
- - 2.2.4
5
- - 2.1.10
3
+ - 2.4.3
4
+ - 2.3.6
6
5
  - ruby-head
7
6
  - jruby-9
8
7
  - jruby-head
9
- - rbx-2
10
8
  matrix:
11
9
  allow_failures:
12
10
  - rvm: jruby-9
data/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ adheres to [Semantic Versioning](http://semver.org/).
5
5
 
6
6
  ## [Unreleased][unreleased]
7
7
 
8
+ ## [0.13.0][0.13.0]
9
+
10
+ ### Added
11
+
12
+ * Support the `copyartifact` builder (see https://docs.openstack.org/infra/jenkins-job-builder/builders.html#builders.copyartifact) ([#11](https://github.com/randycoulman/jujube/pull/11)) (@ktreis)
13
+
8
14
  ## [0.12.0][0.12.0]
9
15
 
10
16
  ### Added
@@ -79,7 +85,8 @@ adheres to [Semantic Versioning](http://semver.org/).
79
85
 
80
86
  * Initial public release.
81
87
 
82
- [unreleased]: https://github.com/randycoulman/jujube/compare/v0.12.0...HEAD
88
+ [unreleased]: https://github.com/randycoulman/jujube/compare/v0.13.0...HEAD
89
+ [0.13.0]: https://github.com/randycoulman/jujube/compare/v0.12.0...v0.13.0
83
90
  [0.12.0]: https://github.com/randycoulman/jujube/compare/v0.11.0...v0.12.0
84
91
  [0.11.0]: https://github.com/randycoulman/jujube/compare/v0.10.0...v0.11.0
85
92
  [0.10.0]: https://github.com/randycoulman/jujube/compare/v0.9.0...v0.10.0
data/README.md CHANGED
@@ -111,8 +111,8 @@ The following sections and components are supported:
111
111
  * `scm`: (`git`, `store`)
112
112
  * `triggers`: (`pollscm`, `pollurl`, `reverse`)
113
113
  * `wrappers`: (`timeout`, `timestamps`)
114
- * `builders`: (`shell`)
115
- * `publishers`: (`archive`, `cppcheck`, `email_ext`, `fitnesse`, `ircbot`, `junit`,
114
+ * `builders`: (`copyartifact`, `shell`)
115
+ * `publishers`: (`archive`, `cppcheck`, `email_ext`, `fitnesse`, `ircbot`, `junit`,
116
116
  `trigger`, `trigger_parameterized_builds`, `unittest`, `xunit`)
117
117
  * `notifications`: None defined yet
118
118
 
@@ -51,6 +51,7 @@ job "endToEnd" do |j|
51
51
  j.wrappers << timeout(type: 'elastic', elastic_percentage: 150, elastic_default_timeout: 5, fail: true)
52
52
  j.wrappers << timestamps
53
53
 
54
+ j.builders << copyartifact(project: "PROJECT", filter: "FILTER", target: "TARGET", flatten: true)
54
55
  j.builders << shell("COMMAND")
55
56
 
56
57
  j.publishers << archive(artifacts: "ARTIFACTS", latest_only: true, allow_empty: true)
@@ -90,6 +90,11 @@
90
90
  fail: true
91
91
  - timestamps
92
92
  builders:
93
+ - copyartifact:
94
+ project: PROJECT
95
+ filter: FILTER
96
+ target: TARGET
97
+ flatten: true
93
98
  - shell: COMMAND
94
99
  publishers:
95
100
  - archive:
data/jujube.gemspec CHANGED
@@ -25,5 +25,5 @@ EOF
25
25
  spec.add_development_dependency "rake", ">= 10.1", "< 12"
26
26
  spec.add_development_dependency "minitest", "~> 5.3"
27
27
  spec.add_development_dependency "flexmock", "~> 2.0"
28
- spec.add_development_dependency "yard", "~>0.8.7"
28
+ spec.add_development_dependency "yard", "~> 0.9.12"
29
29
  end
@@ -3,6 +3,16 @@ module Jujube
3
3
 
4
4
  # Helper methods for creating builder components.
5
5
  module Builders
6
+ extend Macros
7
+
8
+ # @!method copyartifact(options = {})
9
+ # Specify a `copyartifact` builder for a job. Requires the `copyartifact` plugin.
10
+ #
11
+ # See {https://docs.openstack.org/infra/jenkins-job-builder/builders.html#builders.copyartifact}.
12
+ #
13
+ # @param options [Hash] The configuration options for the component.
14
+ # @return [Hash] The specification for the component.
15
+ standard_component :copyartifact
6
16
 
7
17
  # Specify a `shell` builder for a job.
8
18
  #
@@ -13,7 +23,6 @@ module Jujube
13
23
  def shell(command)
14
24
  {'shell' => command}
15
25
  end
16
-
17
26
  end
18
27
  end
19
28
  end
@@ -6,7 +6,7 @@ module Jujube
6
6
  # Load job definitions from one or more files and/or directories.
7
7
  #
8
8
  # The job definition files are loaded as Ruby files; it is expected that
9
- # will make use of the {#job} DSL function, but they can contain other
9
+ # will make use of the {DSL#job} DSL function, but they can contain other
10
10
  # Ruby code as well.
11
11
  #
12
12
  # @param pathnames [Pathname...] The file or directory names containing
@@ -1,5 +1,5 @@
1
1
  # Top-level namespace for the gem.
2
2
  module Jujube
3
3
  # The current gem version.
4
- VERSION = "0.12.0"
4
+ VERSION = "0.13.0"
5
5
  end
@@ -3,6 +3,24 @@ require_relative "../test_helper"
3
3
  class BuildersTest < Minitest::Test
4
4
  include Jujube::Components
5
5
 
6
+ def test_copyartifact
7
+ result = copyartifact(
8
+ project: 'upstream-project',
9
+ which_build: 'last-successful',
10
+ target: 'dest_dir',
11
+ do_not_fingerprint: true
12
+ )
13
+ expected = {
14
+ 'copyartifact' => {
15
+ 'project' => 'upstream-project',
16
+ 'which-build' => 'last-successful',
17
+ 'target' => 'dest_dir',
18
+ 'do-not-fingerprint' => true
19
+ }
20
+ }
21
+ assert_equal(expected, result)
22
+ end
23
+
6
24
  def test_shell
7
25
  expected = {'shell' => 'COMMAND'}
8
26
  assert_equal(expected, shell('COMMAND'))
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.12.0
4
+ version: 0.13.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: 2016-06-10 00:00:00.000000000 Z
11
+ date: 2018-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 0.8.7
81
+ version: 0.9.12
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: 0.8.7
88
+ version: 0.9.12
89
89
  description: |
90
90
  Jujube provides a Ruby front-end for specifying Jenkins jobs. It generates YAML files that
91
91
  are then used as input for jenkins-job-builder.
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  version: '0'
170
170
  requirements: []
171
171
  rubyforge_project:
172
- rubygems_version: 2.5.1
172
+ rubygems_version: 2.7.3
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: Ruby front-end for jenkins-job-builder
@@ -196,4 +196,3 @@ test_files:
196
196
  - test/driver_test.rb
197
197
  - test/job_test.rb
198
198
  - test/test_helper.rb
199
- has_rdoc: