buildkite-builder 1.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/CHANGELOG.md +0 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +13 -0
  7. data/Gemfile.lock +56 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +44 -0
  10. data/Rakefile +6 -0
  11. data/bin/buildkite-builder +6 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/buildkite-builder.gemspec +28 -0
  15. data/lib/buildkite-builder.rb +14 -0
  16. data/lib/buildkite/builder.rb +54 -0
  17. data/lib/buildkite/builder/commands.rb +49 -0
  18. data/lib/buildkite/builder/commands/abstract.rb +64 -0
  19. data/lib/buildkite/builder/commands/files.rb +25 -0
  20. data/lib/buildkite/builder/commands/preview.rb +29 -0
  21. data/lib/buildkite/builder/definition.rb +24 -0
  22. data/lib/buildkite/builder/file_resolver.rb +59 -0
  23. data/lib/buildkite/builder/github.rb +71 -0
  24. data/lib/buildkite/builder/loaders.rb +12 -0
  25. data/lib/buildkite/builder/loaders/abstract.rb +40 -0
  26. data/lib/buildkite/builder/loaders/manifests.rb +23 -0
  27. data/lib/buildkite/builder/loaders/processors.rb +37 -0
  28. data/lib/buildkite/builder/loaders/templates.rb +25 -0
  29. data/lib/buildkite/builder/logging_utils.rb +24 -0
  30. data/lib/buildkite/builder/manifest.rb +89 -0
  31. data/lib/buildkite/builder/manifest/rule.rb +51 -0
  32. data/lib/buildkite/builder/processors.rb +9 -0
  33. data/lib/buildkite/builder/processors/abstract.rb +76 -0
  34. data/lib/buildkite/builder/rainbow.rb +9 -0
  35. data/lib/buildkite/builder/runner.rb +114 -0
  36. data/lib/buildkite/env.rb +52 -0
  37. data/lib/buildkite/pipelines.rb +13 -0
  38. data/lib/buildkite/pipelines/api.rb +119 -0
  39. data/lib/buildkite/pipelines/attributes.rb +137 -0
  40. data/lib/buildkite/pipelines/command.rb +59 -0
  41. data/lib/buildkite/pipelines/helpers.rb +43 -0
  42. data/lib/buildkite/pipelines/helpers/block.rb +18 -0
  43. data/lib/buildkite/pipelines/helpers/command.rb +21 -0
  44. data/lib/buildkite/pipelines/helpers/depends_on.rb +13 -0
  45. data/lib/buildkite/pipelines/helpers/key.rb +13 -0
  46. data/lib/buildkite/pipelines/helpers/label.rb +18 -0
  47. data/lib/buildkite/pipelines/helpers/plugins.rb +24 -0
  48. data/lib/buildkite/pipelines/helpers/retry.rb +20 -0
  49. data/lib/buildkite/pipelines/helpers/skip.rb +15 -0
  50. data/lib/buildkite/pipelines/helpers/soft_fail.rb +15 -0
  51. data/lib/buildkite/pipelines/helpers/timeout_in_minutes.rb +17 -0
  52. data/lib/buildkite/pipelines/pipeline.rb +129 -0
  53. data/lib/buildkite/pipelines/plugin.rb +23 -0
  54. data/lib/buildkite/pipelines/steps.rb +15 -0
  55. data/lib/buildkite/pipelines/steps/abstract.rb +26 -0
  56. data/lib/buildkite/pipelines/steps/block.rb +20 -0
  57. data/lib/buildkite/pipelines/steps/command.rb +30 -0
  58. data/lib/buildkite/pipelines/steps/input.rb +20 -0
  59. data/lib/buildkite/pipelines/steps/skip.rb +28 -0
  60. data/lib/buildkite/pipelines/steps/trigger.rb +22 -0
  61. data/lib/buildkite/pipelines/steps/wait.rb +18 -0
  62. data/lib/vendor/rainbow/Changelog.md +101 -0
  63. data/lib/vendor/rainbow/Gemfile +30 -0
  64. data/lib/vendor/rainbow/LICENSE +20 -0
  65. data/lib/vendor/rainbow/README.markdown +225 -0
  66. data/lib/vendor/rainbow/Rakefile +11 -0
  67. data/lib/vendor/rainbow/lib/rainbow.rb +13 -0
  68. data/lib/vendor/rainbow/lib/rainbow/color.rb +150 -0
  69. data/lib/vendor/rainbow/lib/rainbow/ext/string.rb +64 -0
  70. data/lib/vendor/rainbow/lib/rainbow/global.rb +25 -0
  71. data/lib/vendor/rainbow/lib/rainbow/null_presenter.rb +100 -0
  72. data/lib/vendor/rainbow/lib/rainbow/presenter.rb +144 -0
  73. data/lib/vendor/rainbow/lib/rainbow/refinement.rb +14 -0
  74. data/lib/vendor/rainbow/lib/rainbow/string_utils.rb +22 -0
  75. data/lib/vendor/rainbow/lib/rainbow/version.rb +5 -0
  76. data/lib/vendor/rainbow/lib/rainbow/wrapper.rb +22 -0
  77. data/lib/vendor/rainbow/lib/rainbow/x11_color_names.rb +153 -0
  78. data/lib/vendor/rainbow/rainbow.gemspec +23 -0
  79. metadata +126 -0
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'presenter'
4
+ require_relative 'global'
5
+
6
+ module Rainbow
7
+ refine String do
8
+ Presenter.instance_methods(false).each do |method_name|
9
+ define_method(method_name) do |*args|
10
+ ::Rainbow.global.wrap(self).send(method_name, *args)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rainbow
4
+ class StringUtils
5
+ def self.wrap_with_sgr(string, codes)
6
+ return string if codes.empty?
7
+
8
+ seq = "\e[" + codes.join(";") + "m"
9
+
10
+ string = string.sub(/^(\e\[([\d;]+)m)*/) { |m| m + seq }
11
+
12
+ return string if string.end_with? "\e[0m"
13
+
14
+ string + "\e[0m"
15
+ end
16
+
17
+ def self.uncolor(string)
18
+ # See http://www.commandlinefu.com/commands/view/3584/remove-color-codes-special-characters-with-sed
19
+ string.gsub(/\e\[[0-9;]*m/, '')
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rainbow
4
+ VERSION = "3.1.0"
5
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'presenter'
4
+ require_relative 'null_presenter'
5
+
6
+ module Rainbow
7
+ class Wrapper
8
+ attr_accessor :enabled
9
+
10
+ def initialize(enabled = true)
11
+ @enabled = enabled
12
+ end
13
+
14
+ def wrap(string)
15
+ if enabled
16
+ Presenter.new(string.to_s)
17
+ else
18
+ NullPresenter.new(string.to_s)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,153 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rainbow
4
+ module X11ColorNames
5
+ NAMES = {
6
+ aqua: [0, 255, 255],
7
+ aquamarine: [127, 255, 212],
8
+ mediumaquamarine: [102, 205, 170],
9
+ azure: [240, 255, 255],
10
+ beige: [245, 245, 220],
11
+ bisque: [255, 228, 196],
12
+ black: [0, 0, 0],
13
+ blanchedalmond: [255, 235, 205],
14
+ blue: [0, 0, 255],
15
+ darkblue: [0, 0, 139],
16
+ lightblue: [173, 216, 230],
17
+ mediumblue: [0, 0, 205],
18
+ aliceblue: [240, 248, 255],
19
+ cadetblue: [95, 158, 160],
20
+ dodgerblue: [30, 144, 255],
21
+ midnightblue: [25, 25, 112],
22
+ navyblue: [0, 0, 128],
23
+ powderblue: [176, 224, 230],
24
+ royalblue: [65, 105, 225],
25
+ skyblue: [135, 206, 235],
26
+ deepskyblue: [0, 191, 255],
27
+ lightskyblue: [135, 206, 250],
28
+ slateblue: [106, 90, 205],
29
+ darkslateblue: [72, 61, 139],
30
+ mediumslateblue: [123, 104, 238],
31
+ steelblue: [70, 130, 180],
32
+ lightsteelblue: [176, 196, 222],
33
+ brown: [165, 42, 42],
34
+ rosybrown: [188, 143, 143],
35
+ saddlebrown: [139, 69, 19],
36
+ sandybrown: [244, 164, 96],
37
+ burlywood: [222, 184, 135],
38
+ chartreuse: [127, 255, 0],
39
+ chocolate: [210, 105, 30],
40
+ coral: [255, 127, 80],
41
+ lightcoral: [240, 128, 128],
42
+ cornflower: [100, 149, 237],
43
+ cornsilk: [255, 248, 220],
44
+ crimson: [220, 20, 60],
45
+ cyan: [0, 255, 255],
46
+ darkcyan: [0, 139, 139],
47
+ lightcyan: [224, 255, 255],
48
+ firebrick: [178, 34, 34],
49
+ fuchsia: [255, 0, 255],
50
+ gainsboro: [220, 220, 220],
51
+ gold: [255, 215, 0],
52
+ goldenrod: [218, 165, 32],
53
+ darkgoldenrod: [184, 134, 11],
54
+ lightgoldenrod: [250, 250, 210],
55
+ palegoldenrod: [238, 232, 170],
56
+ gray: [190, 190, 190],
57
+ darkgray: [169, 169, 169],
58
+ dimgray: [105, 105, 105],
59
+ lightgray: [211, 211, 211],
60
+ slategray: [112, 128, 144],
61
+ lightslategray: [119, 136, 153],
62
+ webgray: [128, 128, 128],
63
+ green: [0, 255, 0],
64
+ darkgreen: [0, 100, 0],
65
+ lightgreen: [144, 238, 144],
66
+ palegreen: [152, 251, 152],
67
+ darkolivegreen: [85, 107, 47],
68
+ yellowgreen: [154, 205, 50],
69
+ forestgreen: [34, 139, 34],
70
+ lawngreen: [124, 252, 0],
71
+ limegreen: [50, 205, 50],
72
+ seagreen: [46, 139, 87],
73
+ darkseagreen: [143, 188, 143],
74
+ lightseagreen: [32, 178, 170],
75
+ mediumseagreen: [60, 179, 113],
76
+ springgreen: [0, 255, 127],
77
+ mediumspringgreen: [0, 250, 154],
78
+ webgreen: [0, 128, 0],
79
+ honeydew: [240, 255, 240],
80
+ indianred: [205, 92, 92],
81
+ indigo: [75, 0, 130],
82
+ ivory: [255, 255, 240],
83
+ khaki: [240, 230, 140],
84
+ darkkhaki: [189, 183, 107],
85
+ lavender: [230, 230, 250],
86
+ lavenderblush: [255, 240, 245],
87
+ lemonchiffon: [255, 250, 205],
88
+ lime: [0, 255, 0],
89
+ linen: [250, 240, 230],
90
+ magenta: [255, 0, 255],
91
+ darkmagenta: [139, 0, 139],
92
+ maroon: [176, 48, 96],
93
+ webmaroon: [127, 0, 0],
94
+ mintcream: [245, 255, 250],
95
+ mistyrose: [255, 228, 225],
96
+ moccasin: [255, 228, 181],
97
+ oldlace: [253, 245, 230],
98
+ olive: [128, 128, 0],
99
+ olivedrab: [107, 142, 35],
100
+ orange: [255, 165, 0],
101
+ darkorange: [255, 140, 0],
102
+ orchid: [218, 112, 214],
103
+ darkorchid: [153, 50, 204],
104
+ mediumorchid: [186, 85, 211],
105
+ papayawhip: [255, 239, 213],
106
+ peachpuff: [255, 218, 185],
107
+ peru: [205, 133, 63],
108
+ pink: [255, 192, 203],
109
+ deeppink: [255, 20, 147],
110
+ lightpink: [255, 182, 193],
111
+ hotpink: [255, 105, 180],
112
+ plum: [221, 160, 221],
113
+ purple: [160, 32, 240],
114
+ mediumpurple: [147, 112, 219],
115
+ rebeccapurple: [102, 51, 153],
116
+ webpurple: [127, 0, 127],
117
+ red: [255, 0, 0],
118
+ darkred: [139, 0, 0],
119
+ orangered: [255, 69, 0],
120
+ mediumvioletred: [199, 21, 133],
121
+ palevioletred: [219, 112, 147],
122
+ salmon: [250, 128, 114],
123
+ darksalmon: [233, 150, 122],
124
+ lightsalmon: [255, 160, 122],
125
+ seashell: [255, 245, 238],
126
+ sienna: [160, 82, 45],
127
+ silver: [192, 192, 192],
128
+ darkslategray: [47, 79, 79],
129
+ snow: [255, 250, 250],
130
+ tan: [210, 180, 140],
131
+ teal: [0, 128, 128],
132
+ thistle: [216, 191, 216],
133
+ tomato: [255, 99, 71],
134
+ turquoise: [64, 224, 208],
135
+ darkturquoise: [0, 206, 209],
136
+ mediumturquoise: [72, 209, 204],
137
+ paleturquoise: [175, 238, 238],
138
+ violet: [238, 130, 238],
139
+ darkviolet: [148, 0, 211],
140
+ blueviolet: [138, 43, 226],
141
+ wheat: [245, 222, 179],
142
+ white: [255, 255, 255],
143
+ antiquewhite: [250, 235, 215],
144
+ floralwhite: [255, 250, 240],
145
+ ghostwhite: [248, 248, 255],
146
+ navajowhite: [255, 222, 173],
147
+ whitesmoke: [245, 245, 245],
148
+ yellow: [255, 255, 0],
149
+ lightyellow: [255, 255, 224],
150
+ greenyellow: [173, 255, 47]
151
+ }.freeze
152
+ end
153
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'rainbow/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "rainbow"
9
+ spec.version = Rainbow::VERSION
10
+ spec.authors = ["Marcin Kulik", "Olle Jonsson"]
11
+ spec.email = ["m@ku1ik.com"]
12
+ spec.description = 'Colorize printed text on ANSI terminals'
13
+ spec.summary = 'Colorize printed text on ANSI terminals'
14
+ spec.homepage = "https://github.com/sickill/rainbow"
15
+ spec.license = "MIT"
16
+ spec.required_ruby_version = '>= 2.3.0'
17
+
18
+ spec.files = Dir['lib'] + %w[Changelog.md README.markdown LICENSE]
19
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
+ spec.require_paths = ["lib"]
22
+ spec.add_development_dependency "bundler", [">= 1.3", "< 3"]
23
+ end
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: buildkite-builder
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.beta.1
5
+ platform: ruby
6
+ authors:
7
+ - Ngan Pham
8
+ - Andrew Lee
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2020-11-19 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Write a longer description or delete this line.
15
+ email:
16
+ - gusto-opensource-buildkite@gusto.com
17
+ executables:
18
+ - buildkite-builder
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - ".gitignore"
23
+ - ".rspec"
24
+ - CHANGELOG.md
25
+ - CODE_OF_CONDUCT.md
26
+ - Gemfile
27
+ - Gemfile.lock
28
+ - LICENSE.txt
29
+ - README.md
30
+ - Rakefile
31
+ - bin/buildkite-builder
32
+ - bin/console
33
+ - bin/setup
34
+ - buildkite-builder.gemspec
35
+ - lib/buildkite-builder.rb
36
+ - lib/buildkite/builder.rb
37
+ - lib/buildkite/builder/commands.rb
38
+ - lib/buildkite/builder/commands/abstract.rb
39
+ - lib/buildkite/builder/commands/files.rb
40
+ - lib/buildkite/builder/commands/preview.rb
41
+ - lib/buildkite/builder/definition.rb
42
+ - lib/buildkite/builder/file_resolver.rb
43
+ - lib/buildkite/builder/github.rb
44
+ - lib/buildkite/builder/loaders.rb
45
+ - lib/buildkite/builder/loaders/abstract.rb
46
+ - lib/buildkite/builder/loaders/manifests.rb
47
+ - lib/buildkite/builder/loaders/processors.rb
48
+ - lib/buildkite/builder/loaders/templates.rb
49
+ - lib/buildkite/builder/logging_utils.rb
50
+ - lib/buildkite/builder/manifest.rb
51
+ - lib/buildkite/builder/manifest/rule.rb
52
+ - lib/buildkite/builder/processors.rb
53
+ - lib/buildkite/builder/processors/abstract.rb
54
+ - lib/buildkite/builder/rainbow.rb
55
+ - lib/buildkite/builder/runner.rb
56
+ - lib/buildkite/env.rb
57
+ - lib/buildkite/pipelines.rb
58
+ - lib/buildkite/pipelines/api.rb
59
+ - lib/buildkite/pipelines/attributes.rb
60
+ - lib/buildkite/pipelines/command.rb
61
+ - lib/buildkite/pipelines/helpers.rb
62
+ - lib/buildkite/pipelines/helpers/block.rb
63
+ - lib/buildkite/pipelines/helpers/command.rb
64
+ - lib/buildkite/pipelines/helpers/depends_on.rb
65
+ - lib/buildkite/pipelines/helpers/key.rb
66
+ - lib/buildkite/pipelines/helpers/label.rb
67
+ - lib/buildkite/pipelines/helpers/plugins.rb
68
+ - lib/buildkite/pipelines/helpers/retry.rb
69
+ - lib/buildkite/pipelines/helpers/skip.rb
70
+ - lib/buildkite/pipelines/helpers/soft_fail.rb
71
+ - lib/buildkite/pipelines/helpers/timeout_in_minutes.rb
72
+ - lib/buildkite/pipelines/pipeline.rb
73
+ - lib/buildkite/pipelines/plugin.rb
74
+ - lib/buildkite/pipelines/steps.rb
75
+ - lib/buildkite/pipelines/steps/abstract.rb
76
+ - lib/buildkite/pipelines/steps/block.rb
77
+ - lib/buildkite/pipelines/steps/command.rb
78
+ - lib/buildkite/pipelines/steps/input.rb
79
+ - lib/buildkite/pipelines/steps/skip.rb
80
+ - lib/buildkite/pipelines/steps/trigger.rb
81
+ - lib/buildkite/pipelines/steps/wait.rb
82
+ - lib/vendor/rainbow/Changelog.md
83
+ - lib/vendor/rainbow/Gemfile
84
+ - lib/vendor/rainbow/LICENSE
85
+ - lib/vendor/rainbow/README.markdown
86
+ - lib/vendor/rainbow/Rakefile
87
+ - lib/vendor/rainbow/lib/rainbow.rb
88
+ - lib/vendor/rainbow/lib/rainbow/color.rb
89
+ - lib/vendor/rainbow/lib/rainbow/ext/string.rb
90
+ - lib/vendor/rainbow/lib/rainbow/global.rb
91
+ - lib/vendor/rainbow/lib/rainbow/null_presenter.rb
92
+ - lib/vendor/rainbow/lib/rainbow/presenter.rb
93
+ - lib/vendor/rainbow/lib/rainbow/refinement.rb
94
+ - lib/vendor/rainbow/lib/rainbow/string_utils.rb
95
+ - lib/vendor/rainbow/lib/rainbow/version.rb
96
+ - lib/vendor/rainbow/lib/rainbow/wrapper.rb
97
+ - lib/vendor/rainbow/lib/rainbow/x11_color_names.rb
98
+ - lib/vendor/rainbow/rainbow.gemspec
99
+ homepage: https://github.com/Gusto/buildkite-builder
100
+ licenses:
101
+ - MIT
102
+ metadata:
103
+ homepage_uri: https://github.com/Gusto/buildkite-builder
104
+ source_code_uri: https://github.com/Gusto/buildkite-builder
105
+ changelog_uri: https://github.com/Gusto/buildkite-builder/blob/master/CHANGELOG.md
106
+ bug_tracker_uri: https://github.com/Gusto/buildkite-builder/issues
107
+ post_install_message:
108
+ rdoc_options: []
109
+ require_paths:
110
+ - lib
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: 2.3.0
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">"
119
+ - !ruby/object:Gem::Version
120
+ version: 1.3.1
121
+ requirements: []
122
+ rubygems_version: 3.1.4
123
+ signing_key:
124
+ specification_version: 4
125
+ summary: Write a short summary, because RubyGems requires one.
126
+ test_files: []