buildkite-builder 3.4.0 → 3.6.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 +4 -4
- data/CHANGELOG.md +9 -0
- data/VERSION +1 -1
- data/lib/buildkite/builder/extensions/steps.rb +2 -2
- data/lib/buildkite/builder/plugin.rb +4 -4
- data/lib/buildkite/builder/plugin_collection.rb +5 -5
- data/lib/buildkite/builder/plugin_manager.rb +5 -2
- data/lib/buildkite/pipelines/command.rb +17 -4
- data/lib/buildkite/pipelines/helpers/plugins.rb +2 -2
- data/lib/buildkite/pipelines/helpers/retry.rb +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93d05d1f845781bebfd8b0ad224f1b50ca3d48237817a7ae4391add514dc6103
|
4
|
+
data.tar.gz: 2c33310049a5c2c47e00813bbc02304c9dd8fe2b8842e013ea03ace5e5e607d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03675ba911feade1199a7ca2b86a7656107160e6b2994f0994a5cc8cc9b1e24e28c6e132f05e335827da1f4c191a7a07854707ba15015348734b67fa078eb2b7
|
7
|
+
data.tar.gz: ad283bfdeb754f8fb04373d39a9b383e3d66fcfefc51ed41627958b144993d9b21ceec3e8f41af607163334895c3e2f0da0ce02f92b5ab31f6be04ce47240d29
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
## 3.6.0
|
2
|
+
* `Buildkite::Pipelines::Command#run` now uses `Open3.capture3` to run system commands, and accepts an optional arg `capture`. When `capture` is true, it returns the stdout of the command. `capture` is true for the meta_data subcommands `get` and `keys` and for the artifact subcommands `shasum` and `search`.
|
3
|
+
|
4
|
+
## 3.5.0
|
5
|
+
* `plugin` registrations now takes an optional default attributes hash as the third argument.
|
6
|
+
|
7
|
+
## 3.4.1
|
8
|
+
* `automatic_retry_on` now overwrites rules with the same exit status.
|
9
|
+
|
1
10
|
## 3.4.0
|
2
11
|
* `automatically_retry(status:, limit:)` has been renamed to `automatic_retry_on(exit_status:, limit:)`
|
3
12
|
* Added `automatic_retry` for setting boolean for `retry.automatic`
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.6.0
|
@@ -21,8 +21,8 @@ module Buildkite
|
|
21
21
|
context.data.steps.push(Buildkite::Builder::Group.new(label, context.data.steps, &block))
|
22
22
|
end
|
23
23
|
|
24
|
-
def plugin(name, uri)
|
25
|
-
context.data.steps.plugins.add(name, uri)
|
24
|
+
def plugin(name, uri, default_attributes = {})
|
25
|
+
context.data.steps.plugins.add(name, uri, default_attributes)
|
26
26
|
end
|
27
27
|
|
28
28
|
def block(template = nil, **args, &block)
|
@@ -3,16 +3,16 @@
|
|
3
3
|
module Buildkite
|
4
4
|
module Builder
|
5
5
|
class Plugin
|
6
|
-
attr_reader :uri, :source, :version, :
|
6
|
+
attr_reader :uri, :source, :version, :attributes
|
7
7
|
|
8
|
-
def initialize(uri,
|
8
|
+
def initialize(uri, attributes = {})
|
9
9
|
@uri = uri
|
10
10
|
@source, @version = uri.split('#')
|
11
|
-
@
|
11
|
+
@attributes = attributes
|
12
12
|
end
|
13
13
|
|
14
14
|
def to_h
|
15
|
-
Buildkite::Pipelines::Helpers.sanitize(uri =>
|
15
|
+
Buildkite::Pipelines::Helpers.sanitize(uri => (attributes&.empty? ? nil : attributes))
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -8,17 +8,17 @@ module Buildkite
|
|
8
8
|
@collection = []
|
9
9
|
end
|
10
10
|
|
11
|
-
def add(resource,
|
11
|
+
def add(resource, attributes = {})
|
12
12
|
plugin =
|
13
13
|
case resource
|
14
14
|
when Symbol
|
15
|
-
|
15
|
+
registered_plugin = plugin_manager.fetch(resource.to_s)
|
16
16
|
|
17
|
-
raise ArgumentError, "Plugin `#{resource}` does not exist" unless
|
17
|
+
raise ArgumentError, "Plugin `#{resource}` does not exist" unless registered_plugin
|
18
18
|
|
19
|
-
Plugin.new(uri,
|
19
|
+
Plugin.new(registered_plugin[:uri], registered_plugin[:default_attributes].merge(attributes))
|
20
20
|
when String
|
21
|
-
Plugin.new(resource,
|
21
|
+
Plugin.new(resource, attributes)
|
22
22
|
when Plugin
|
23
23
|
resource
|
24
24
|
else
|
@@ -5,14 +5,17 @@ module Buildkite
|
|
5
5
|
@plugins = {}
|
6
6
|
end
|
7
7
|
|
8
|
-
def add(name, uri)
|
8
|
+
def add(name, uri, default_attributes = {})
|
9
9
|
name = name.to_s
|
10
10
|
|
11
11
|
if @plugins.key?(name)
|
12
12
|
raise ArgumentError, "Plugin already defined: #{name}"
|
13
13
|
end
|
14
14
|
|
15
|
-
@plugins[name] =
|
15
|
+
@plugins[name] = {
|
16
|
+
uri: uri,
|
17
|
+
default_attributes: default_attributes
|
18
|
+
}
|
16
19
|
end
|
17
20
|
|
18
21
|
def fetch(name)
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'open3'
|
4
|
+
|
3
5
|
module Buildkite
|
4
6
|
module Pipelines
|
5
7
|
class Command
|
@@ -17,7 +19,12 @@ module Buildkite
|
|
17
19
|
end
|
18
20
|
|
19
21
|
def artifact(subcommand, *args)
|
20
|
-
|
22
|
+
capture = case subcommand.to_s
|
23
|
+
when 'shasum', 'search' then true
|
24
|
+
else false
|
25
|
+
end
|
26
|
+
|
27
|
+
new(:artifact, subcommand, *args).run(capture: capture)
|
21
28
|
end
|
22
29
|
|
23
30
|
def annotate(body, *args)
|
@@ -25,7 +32,12 @@ module Buildkite
|
|
25
32
|
end
|
26
33
|
|
27
34
|
def meta_data(subcommand, *args)
|
28
|
-
|
35
|
+
capture = case subcommand.to_s
|
36
|
+
when 'get', 'keys' then true
|
37
|
+
else false
|
38
|
+
end
|
39
|
+
|
40
|
+
new(:'meta-data', subcommand, *args).run(capture: capture)
|
29
41
|
end
|
30
42
|
end
|
31
43
|
|
@@ -42,8 +54,9 @@ module Buildkite
|
|
42
54
|
@args = transform_args(args)
|
43
55
|
end
|
44
56
|
|
45
|
-
def run
|
46
|
-
|
57
|
+
def run(capture: false)
|
58
|
+
stdout, _, status = Open3.capture3(*to_a)
|
59
|
+
capture ? stdout : status.success?
|
47
60
|
end
|
48
61
|
|
49
62
|
private
|
@@ -4,9 +4,9 @@ module Buildkite
|
|
4
4
|
module Pipelines
|
5
5
|
module Helpers
|
6
6
|
module Plugins
|
7
|
-
def plugin(name_or_source,
|
7
|
+
def plugin(name_or_source, plugin_attributes = {})
|
8
8
|
attributes['plugins'] ||= Buildkite::Builder::PluginCollection.new(step_collection.plugins)
|
9
|
-
attributes['plugins'].add(name_or_source,
|
9
|
+
attributes['plugins'].add(name_or_source, plugin_attributes)
|
10
10
|
end
|
11
11
|
|
12
12
|
def plugins
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: buildkite-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ngan Pham
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-11-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rainbow
|
@@ -171,7 +171,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
171
171
|
requirements:
|
172
172
|
- - ">="
|
173
173
|
- !ruby/object:Gem::Version
|
174
|
-
version:
|
174
|
+
version: 3.0.0
|
175
175
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - ">="
|