buildkite-builder 4.1.2 → 4.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a02f80263e1373648688276099006c4d2c6870803bb82196cdce5be97d89ad5
4
- data.tar.gz: bee2180eac619b4bc4931434f12e02d199fd95c82bcf43e9798b96d01f76f263
3
+ metadata.gz: 9a8781f1d4e933a20eae5cc484f9c7d8fe11e1606fb89981819d3b94c6b79622
4
+ data.tar.gz: 9c48682aaed76cf3d72a25a6c8633395243b153c0cd3a7ea4d1310ac6776546d
5
5
  SHA512:
6
- metadata.gz: c8f8028dbc2b311ed71a5dd287d805e8cf417832495172405e2d5556f6535163ab5400a8506c7c9ecd0a32099a0cf7283c32f854f86781c1615284e3032c9319
7
- data.tar.gz: eda46a592c6f8630e177f539369c3bbf1d619429b32407db7fbf461420592ef9263982dbe4ed4e6f0203baeac8a5a06362aa493e5a6b26680a52f05c904f73f2
6
+ metadata.gz: 45973c8d81a01fd188822260e62d60d2c2a5ed7cb6dde21d530d3a31c0327e4d065639934c82d7528a218505d902b67d1cfe11c1d088b61bff5ddbb3997a8a08
7
+ data.tar.gz: 5a37e559b446888b8812ecca4a2fd3592138c6adbd6a3f56f82d80bd5b5adb6b64d411ac986b678c42e3537e7dab16c91b8e289f0171707d2d4f69da4aeaf4de
data/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ### 4.2.1
2
+ * Allow uploading pipeline to different jobs
3
+
4
+ ### 4.2.0
5
+ * Add shared global templates
6
+
7
+ ### 4.1.2
8
+ * Raise error with stderr/stdout message when `buildkite-agent` command failed while using bang commands (`artifact!`, `annotate!`, `pipeline!`, and `meta_data!`)
9
+ * Add `signal_reason` as an automatic retry option
10
+
11
+ ### 4.1.1
12
+ * Fix `PluginManager`'s error message when plugin was not registered
13
+
14
+ ### 4.1.0
15
+ * Remove `skip` step since it's only mimicing `command` step with a skip.
16
+
17
+ ### 4.0.0
18
+ * Remove `subpipeline` since it's not a Buildkite standard.
19
+ * Refactor template handling
20
+ * Simplify `group` step implementation
21
+
22
+ ### 3.9.0
23
+ * Create a `Plugins` extension to take care named plugins from the plugin manager.
24
+
25
+ ### 3.8.1...3.8.3
26
+ * Expose extension manager to be accessible in dsl
27
+ * Removes an extra definition of `attr_reader :extensions` in pipeline
28
+ * Allow `group` steps to be able to use extension's dsl methods
29
+ * Show buildkite builder version at the beginning of the command
30
+
31
+ ### 3.8.0
32
+ * Extensions can now take block as argument [example](https://github.com/Gusto/buildkite-builder/blob/v3.8.0/.buildkite/pipelines/showcase/pipeline.rb#L6-L13)
33
+
1
34
  ## 3.6.0
2
35
  * `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
36
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.1.2
1
+ 4.2.1
@@ -17,8 +17,8 @@ module Buildkite
17
17
  # variables to be set. It also uploads the pipeline to Buildkite.
18
18
  log.info "+++ 🧰 #{'Buildkite Builder'.color(:springgreen)} v#{Buildkite::Builder.version} ─ #{relative_pipeline_path.to_s.yellow}"
19
19
 
20
- if Buildkite::Pipelines::Command.meta_data(:exists, Builder::META_DATA.fetch(:job))
21
- log.info 'Pipeline already uploaded'.color(:dimgray)
20
+ if Buildkite::Pipelines::Command.meta_data(:get, Builder::META_DATA.fetch(:job)) == Buildkite.env.job_id
21
+ log.info "Pipeline already uploaded in #{Buildkite.env.job_id}".color(:dimgray)
22
22
  else
23
23
  Pipeline.new(pipeline_path, logger: log).upload
24
24
  end
@@ -9,16 +9,27 @@ module Buildkite
9
9
  TEMPLATES_PATH = Pathname.new('templates').freeze
10
10
 
11
11
  def load
12
- return unless templates_path.directory?
12
+ load_from_path(global_path)
13
+ load_from_path(pipeline_path)
14
+ end
15
+
16
+ private
17
+
18
+ def load_from_path(path)
19
+ return unless path.directory?
13
20
 
14
- templates_path.children.sort.each do |file|
21
+ path.children.sort.each do |file|
15
22
  add(file.basename('.rb'), load_definition(file, Definition::Template))
16
23
  end
17
24
  end
18
25
 
19
- def templates_path
26
+ def pipeline_path
20
27
  root.join(TEMPLATES_PATH)
21
28
  end
29
+
30
+ def global_path
31
+ buildkite_path.join(TEMPLATES_PATH)
32
+ end
22
33
  end
23
34
  end
24
35
  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.1.2
4
+ version: 4.2.1
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: 2023-04-11 00:00:00.000000000 Z
12
+ date: 2023-06-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rainbow
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
174
  - !ruby/object:Gem::Version
175
175
  version: '0'
176
176
  requirements: []
177
- rubygems_version: 3.3.13
177
+ rubygems_version: 3.4.10
178
178
  signing_key:
179
179
  specification_version: 4
180
180
  summary: A gem for programmatically creating Buildkite pipelines.