buildkite-builder 4.0.0 → 4.1.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/VERSION +1 -1
- data/lib/buildkite/builder/extension.rb +2 -2
- data/lib/buildkite/builder/extensions/steps.rb +0 -9
- data/lib/buildkite/builder/step_collection.rb +28 -11
- data/lib/buildkite/builder/template_manager.rb +0 -4
- data/lib/buildkite/pipelines/steps.rb +0 -1
- metadata +2 -3
- data/lib/buildkite/pipelines/steps/skip.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1f1ed1d180d7e0682417a8ada846785b485c32af561a442c9d2e6370975de1f
|
4
|
+
data.tar.gz: c618bcd175b11c4dccb1b1f40d642ce7286b05b5c5d9fd42693e060d0602c2f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e45d32dfedd02df0fba24ba0ac59ae388dc4c4d909e26c7fa6672944ba637959352a73619b6629b9d5ea3c89b94a974f93a1c50c182a08bf9ede5092438fb52
|
7
|
+
data.tar.gz: d428745b5ffd07191f5bcd375ff7aaa4043ccc2fda09733c3569f34658b377b00cdd63d3ea8b46c0d1ce28524519a6c9701e44c720afee4c9393da8f4d4de17d
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.
|
1
|
+
4.1.0
|
@@ -14,12 +14,12 @@ module Buildkite
|
|
14
14
|
|
15
15
|
attr_reader :context
|
16
16
|
attr_reader :options
|
17
|
-
attr_reader :
|
17
|
+
attr_reader :options_block
|
18
18
|
|
19
19
|
def initialize(context, **options, &block)
|
20
20
|
@context = context
|
21
21
|
@options = options
|
22
|
-
@
|
22
|
+
@options_block = block
|
23
23
|
|
24
24
|
prepare
|
25
25
|
end
|
@@ -56,15 +56,6 @@ module Buildkite
|
|
56
56
|
context.extensions.find(Steps).build_step(Pipelines::Steps::Trigger, template, **args, &block)
|
57
57
|
end
|
58
58
|
|
59
|
-
def skip(template = nil, **args, &block)
|
60
|
-
context.extensions.find(Steps).build_step(Pipelines::Steps::Skip, template, **args, &block).tap do |step|
|
61
|
-
# A skip step has a nil/noop command.
|
62
|
-
step.command(nil)
|
63
|
-
# Always set the skip attribute if it's in a falsey state.
|
64
|
-
step.skip(true) if !step.get(:skip) || step.skip.empty?
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
59
|
def wait(attributes = {}, &block)
|
69
60
|
context.extensions.find(Steps).build_step(Pipelines::Steps::Wait, nil, &block).tap do |step|
|
70
61
|
step.wait(nil)
|
@@ -1,30 +1,47 @@
|
|
1
1
|
module Buildkite
|
2
2
|
module Builder
|
3
3
|
class StepCollection
|
4
|
+
STEP_TYPES = {
|
5
|
+
block: Pipelines::Steps::Block,
|
6
|
+
command: Pipelines::Steps::Command,
|
7
|
+
group: Pipelines::Steps::Group,
|
8
|
+
input: Pipelines::Steps::Input,
|
9
|
+
trigger: Pipelines::Steps::Trigger,
|
10
|
+
wait: Pipelines::Steps::Wait
|
11
|
+
}.freeze
|
12
|
+
|
4
13
|
attr_reader :steps
|
5
14
|
|
6
15
|
def initialize
|
7
16
|
@steps = []
|
8
17
|
end
|
9
18
|
|
10
|
-
def each(*types)
|
19
|
+
def each(*types, &block)
|
11
20
|
types = types.flatten
|
21
|
+
types.map! { |type| STEP_TYPES.values.include?(type) ? type : STEP_TYPES.fetch(type) }
|
22
|
+
types = STEP_TYPES.values if types.empty?
|
12
23
|
|
13
|
-
|
14
|
-
if step.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
yield step
|
20
|
-
elsif types.empty?
|
21
|
-
yield step
|
24
|
+
matched_steps = steps.each_with_object([]) do |step, matches|
|
25
|
+
if types.any? { |step_type| step.is_a?(step_type) }
|
26
|
+
matches << step
|
27
|
+
end
|
28
|
+
if step.is_a?(Pipelines::Steps::Group)
|
29
|
+
step.steps.each(types) { |step| matches << step }
|
22
30
|
end
|
23
31
|
end
|
32
|
+
matched_steps.each(&block)
|
24
33
|
end
|
25
34
|
|
26
35
|
def find(key)
|
27
|
-
|
36
|
+
steps.find { |step| step.has?(:key) && step.key.to_s == key.to_s }
|
37
|
+
end
|
38
|
+
|
39
|
+
def remove(step)
|
40
|
+
steps.delete(step)
|
41
|
+
end
|
42
|
+
|
43
|
+
def replace(old_step, new_step)
|
44
|
+
steps[steps.index(old_step)] = new_step
|
28
45
|
end
|
29
46
|
|
30
47
|
def find!(key)
|
@@ -8,7 +8,6 @@ module Buildkite
|
|
8
8
|
autoload :Command, File.expand_path('steps/command', __dir__)
|
9
9
|
autoload :Group, File.expand_path('steps/group', __dir__)
|
10
10
|
autoload :Input, File.expand_path('steps/input', __dir__)
|
11
|
-
autoload :Skip, File.expand_path('steps/skip', __dir__)
|
12
11
|
autoload :Trigger, File.expand_path('steps/trigger', __dir__)
|
13
12
|
autoload :Wait, File.expand_path('steps/wait', __dir__)
|
14
13
|
end
|
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: 4.
|
4
|
+
version: 4.1.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-
|
12
|
+
date: 2022-12-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rainbow
|
@@ -149,7 +149,6 @@ files:
|
|
149
149
|
- lib/buildkite/pipelines/steps/command.rb
|
150
150
|
- lib/buildkite/pipelines/steps/group.rb
|
151
151
|
- lib/buildkite/pipelines/steps/input.rb
|
152
|
-
- lib/buildkite/pipelines/steps/skip.rb
|
153
152
|
- lib/buildkite/pipelines/steps/trigger.rb
|
154
153
|
- lib/buildkite/pipelines/steps/wait.rb
|
155
154
|
homepage: https://github.com/Gusto/buildkite-builder
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Buildkite
|
4
|
-
module Pipelines
|
5
|
-
module Steps
|
6
|
-
class Skip < Abstract
|
7
|
-
# This skip step is not an official Buildkite step. A skip step is really
|
8
|
-
# just a command step that does nothing and is used to portray a hidden
|
9
|
-
# step on the Buildkite web UI.
|
10
|
-
#
|
11
|
-
# Since it is it's own class, pipeline processors will be able to distinguish
|
12
|
-
# between this type of skip and a conditional skip. Conditional skips are
|
13
|
-
# full command or trigger steps skipped by the `skip` attribute. They can be
|
14
|
-
# unskipped in processors for certain situations. See the `DefaultBranch`
|
15
|
-
# processor for example.
|
16
|
-
|
17
|
-
# Do NOT sort this list. The order here is carried over to the YAML output.
|
18
|
-
# The order specified here was deliberate.
|
19
|
-
attribute :label
|
20
|
-
attribute :skip
|
21
|
-
attribute :if, as: :condition
|
22
|
-
attribute :depends_on, append: true
|
23
|
-
attribute :allow_dependency_failure
|
24
|
-
attribute :command
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|