buildkite-builder 4.10.0 → 4.12.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
2
  SHA256:
3
- metadata.gz: 94696619a839dad23bed66b944ffe3c2f2385de643b8317ce208199de31ece04
4
- data.tar.gz: e2064c6ed12d991a98cfc04749c7da87e01a83f26f82aa8c14af1482448792f7
3
+ metadata.gz: e40fd3ec4f371c13cad5700538634f7d150faafb1c215b8a0576506e800eef24
4
+ data.tar.gz: 33eb2f1d354bd0e3e894e7f359e46e0a182684c7a572138a0a05d9e93acddc7a
5
5
  SHA512:
6
- metadata.gz: f7c62bfcf1f853f058c53e252676c83a7da26683568a65b9bd0e6608b525af4b1cf1633b5984226d64682fcc6b69c15c2e88fa86058c647d07979d3a69081903
7
- data.tar.gz: dfbc7a611c89fcba1987bf99330a643ff7f0929d070d34095e56bba5fcccb2ee1547176b3732c7e534b95793fbe4334004eb95306631a72ee5b625e57a631a2e
6
+ metadata.gz: 5181eeffdd237c3caf52d991f1901b89cfdb4e72fd119b5c38fa28749ffe68040bc57f075c0d96368c8e99b602d59c85e46012fdff8d6d5f77116121976ee6d3
7
+ data.tar.gz: 22fbbe3a987660c67321b570d5d02f0f78e917f6b73ef30bef02658d71bccc582e7425ad486f384c78bb8c6b5fd7befdb854def059a2c6b75e1c98a175b592fc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### 4.12.0
2
+ * Ensure depends_on does not copy by reference.
3
+ * Add StepCollection#move to help with moving steps around in the pipeline.
4
+
5
+ ### 4.11.0
6
+ * Allow skipping group traversal for StepCollection#each.
7
+
1
8
  ### 4.10.0
2
9
  * Update Buildkite pipelines to use Ruby 3.3 (#116)
3
10
  * Add priority field on command steps (#117)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.10.0
1
+ 4.12.0
@@ -16,7 +16,7 @@ module Buildkite
16
16
  @steps = []
17
17
  end
18
18
 
19
- def each(*types, &block)
19
+ def each(*types, traverse_groups: true, &block)
20
20
  types = types.flatten
21
21
  types.map! { |type| STEP_TYPES.values.include?(type) ? type : STEP_TYPES.fetch(type) }
22
22
  types = STEP_TYPES.values if types.empty?
@@ -25,7 +25,7 @@ module Buildkite
25
25
  if types.any? { |step_type| step.is_a?(step_type) }
26
26
  matches << step
27
27
  end
28
- if step.is_a?(Pipelines::Steps::Group)
28
+ if step.is_a?(Pipelines::Steps::Group) && traverse_groups
29
29
  step.steps.each(types) { |step| matches << step }
30
30
  end
31
31
  end
@@ -44,6 +44,20 @@ module Buildkite
44
44
  steps[steps.index(old_step)] = new_step
45
45
  end
46
46
 
47
+ def move(*movable_steps, before: nil, after: nil)
48
+ raise ArgumentError, 'Specify either before or after' if before && after
49
+ raise ArgumentError, 'Specify before or after' unless before || after
50
+
51
+ movable_steps.each do |step|
52
+ steps.delete(step)
53
+ end
54
+
55
+ index = steps.index(before || after)
56
+ index += 1 if after
57
+
58
+ steps.insert(index, *movable_steps)
59
+ end
60
+
47
61
  def find!(key)
48
62
  find(key) || raise(ArgumentError, "Can't find step with key: #{key}")
49
63
  end
@@ -5,7 +5,7 @@ module Buildkite
5
5
  module Helpers
6
6
  module DependsOn
7
7
  def depends_on(*values)
8
- values.any? ? super(values) : super()
8
+ values.any? ? super(values.flatten) : super()
9
9
  end
10
10
  end
11
11
  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.10.0
4
+ version: 4.12.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: 2024-08-28 00:00:00.000000000 Z
12
+ date: 2024-09-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rainbow