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 +5 -5
- data/.travis.yml +2 -4
- data/CHANGELOG.md +8 -1
- data/README.md +2 -2
- data/acceptance/fixtures/endToEnd/endToEnd.job +1 -0
- data/acceptance/fixtures/endToEnd/expected.yml +5 -0
- data/jujube.gemspec +1 -1
- data/lib/jujube/components/builders.rb +10 -1
- data/lib/jujube/job_loader.rb +1 -1
- data/lib/jujube/version.rb +1 -1
- data/test/components/builders_test.rb +18 -0
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f5d273e531a84f934e45a965ab2984c09a327647235554c0831290a298d7d5e5
|
4
|
+
data.tar.gz: a2c42a4981849525fdd7387baa5fb193a7a02dbd15e6e49c0df72b796898f3af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19358c0261048502bb9fd9182fa08b7e71d0aae13e4b89120eb430962d85d36d61c221c1479ce102bf068804f10d939d4001f3f8aa9a5107af2109752f34172c
|
7
|
+
data.tar.gz: 395ef00d07ff4aed36e18ad7b3105598a8719a8dac1b7776fdb744626bc484a49ee92da5177104ac97f23f6c7789c49db3ef1dadc595025970617752fa932365
|
data/.travis.yml
CHANGED
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.
|
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)
|
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.
|
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
|
data/lib/jujube/job_loader.rb
CHANGED
@@ -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
|
data/lib/jujube/version.rb
CHANGED
@@ -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.
|
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:
|
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.
|
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.
|
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.
|
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:
|