jujube 0.12.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
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: