firespring_dev_commands 2.3.4 → 2.5.0.pre.alpha.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 +4 -4
- data/README.md +1 -1
- data/lib/firespring_dev_commands/audit/report.rb +2 -9
- data/lib/firespring_dev_commands/aws/account.rb +1 -1
- data/lib/firespring_dev_commands/aws/cloudformation.rb +3 -10
- data/lib/firespring_dev_commands/aws/login.rb +11 -37
- data/lib/firespring_dev_commands/common.rb +2 -22
- data/lib/firespring_dev_commands/docker/compose.rb +1 -2
- data/lib/firespring_dev_commands/docker/status.rb +0 -20
- data/lib/firespring_dev_commands/docker.rb +16 -86
- data/lib/firespring_dev_commands/eol/aws.rb +2 -10
- data/lib/firespring_dev_commands/eol.rb +2 -22
- data/lib/firespring_dev_commands/git.rb +29 -44
- data/lib/firespring_dev_commands/jira/issue.rb +1 -3
- data/lib/firespring_dev_commands/node.rb +1 -1
- data/lib/firespring_dev_commands/php/audit.rb +0 -4
- data/lib/firespring_dev_commands/php.rb +12 -28
- data/lib/firespring_dev_commands/platform.rb +31 -38
- data/lib/firespring_dev_commands/ruby.rb +3 -6
- data/lib/firespring_dev_commands/target_process/query.rb +4 -30
- data/lib/firespring_dev_commands/target_process/release.rb +1 -1
- data/lib/firespring_dev_commands/target_process/team_assignment.rb +1 -1
- data/lib/firespring_dev_commands/target_process/user.rb +1 -13
- data/lib/firespring_dev_commands/target_process/user_story.rb +1 -1
- data/lib/firespring_dev_commands/target_process/user_story_history.rb +1 -1
- data/lib/firespring_dev_commands/target_process.rb +7 -24
- data/lib/firespring_dev_commands/templates/aws.rb +6 -33
- data/lib/firespring_dev_commands/templates/base_interface.rb +2 -2
- data/lib/firespring_dev_commands/templates/ci.rb +11 -16
- data/lib/firespring_dev_commands/templates/docker/application.rb +2 -2
- data/lib/firespring_dev_commands/templates/docker/node/application.rb +5 -55
- data/lib/firespring_dev_commands/templates/docker/php/application.rb +16 -58
- data/lib/firespring_dev_commands/templates/docker/ruby/application.rb +5 -54
- data/lib/firespring_dev_commands/templates/eol.rb +2 -9
- data/lib/firespring_dev_commands/templates/git.rb +4 -171
- data/lib/firespring_dev_commands/version.rb +1 -1
- data/lib/firespring_dev_commands.rb +1 -1
- metadata +37 -113
- data/lib/firespring_dev_commands/aws/route53.rb +0 -139
- data/lib/firespring_dev_commands/bloom_growth/rock.rb +0 -34
- data/lib/firespring_dev_commands/bloom_growth/seat.rb +0 -16
- data/lib/firespring_dev_commands/bloom_growth/user.rb +0 -43
- data/lib/firespring_dev_commands/bloom_growth.rb +0 -132
- data/lib/firespring_dev_commands/certificate.rb +0 -59
- data/lib/firespring_dev_commands/coverage/base.rb +0 -16
- data/lib/firespring_dev_commands/coverage/cobertura.rb +0 -86
- data/lib/firespring_dev_commands/coverage/none.rb +0 -21
- data/lib/firespring_dev_commands/dns/resource.rb +0 -83
- data/lib/firespring_dev_commands/docker/desktop.rb +0 -61
- data/lib/firespring_dev_commands/eol/node.rb +0 -42
- data/lib/firespring_dev_commands/eol/php.rb +0 -50
- data/lib/firespring_dev_commands/eol/ruby.rb +0 -42
- data/lib/firespring_dev_commands/jira/parent.rb +0 -19
- data/lib/firespring_dev_commands/os.rb +0 -35
- data/lib/firespring_dev_commands/port.rb +0 -24
- data/lib/firespring_dev_commands/target_process/time.rb +0 -32
- data/lib/firespring_dev_commands/templates/aws/services/route53.rb +0 -111
- data/lib/firespring_dev_commands/templates/certificate.rb +0 -41
@@ -18,22 +18,6 @@ module Dev
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
# Create the rake task which shows the current AWS account information
|
22
|
-
def create_show_account_info_task!
|
23
|
-
# Have to set a local variable to be accessible inside of the instance_eval block
|
24
|
-
exclude = @exclude
|
25
|
-
|
26
|
-
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
27
|
-
return if exclude.include?(:show_account_info)
|
28
|
-
|
29
|
-
task show_account_info: %w(init ensure_aws_credentials) do
|
30
|
-
account_id = Dev::Aws::Credentials.new.logged_in_account
|
31
|
-
account_name = Dev::Aws::Account.new.name_by_account(account_id)
|
32
|
-
LOG.info "\n Current AWS Account is #{account_name} (#{account_id})\n".light_yellow
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
21
|
# Create the rake task for the aws profile method
|
38
22
|
def create_profile_task!
|
39
23
|
# Have to set a local variable to be accessible inside of the instance_eval block
|
@@ -118,24 +102,13 @@ module Dev
|
|
118
102
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
119
103
|
return if exclude.include?(:eol)
|
120
104
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
desc 'Compares the current date to the EOL date for supported aws resources'
|
127
|
-
task aws: %w(init ensure_aws_credentials) do
|
128
|
-
next if ENV.fetch('CHECK_AWS', nil).to_s.strip == 'false'
|
129
|
-
|
130
|
-
aws_products = Dev::EndOfLife::Aws.new.default_products
|
131
|
-
next if aws_products.empty?
|
105
|
+
desc 'Compares the current date to the EOL date for supported resources'
|
106
|
+
task eol: %w(init ensure_aws_credentials) do
|
107
|
+
account_id = Dev::Aws::Profile.new.current
|
108
|
+
account_name = Dev::Aws::Account.new.name_by_account(account_id)
|
109
|
+
LOG.info " Current AWS Account is #{account_name} (#{account_id})".light_yellow
|
132
110
|
|
133
|
-
|
134
|
-
account_id = Dev::Aws::Profile.new.current
|
135
|
-
account_name = Dev::Aws::Account.new.name_by_account(account_id)
|
136
|
-
puts "AWS product versions (in account #{account_name} / #{account_id})".light_yellow
|
137
|
-
Dev::EndOfLife.new(product_versions: aws_products).status
|
138
|
-
end
|
111
|
+
Dev::EndOfLife.new(product_versions: Dev::EndOfLife::Aws.new.default_products).check
|
139
112
|
end
|
140
113
|
end
|
141
114
|
end
|
@@ -47,14 +47,14 @@ end
|
|
47
47
|
# Create the base init command
|
48
48
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
49
49
|
task :init do
|
50
|
-
|
50
|
+
LOG.debug 'In base init'
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
# Create the base init_docker command
|
55
55
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
56
56
|
task init_docker: %w(init) do
|
57
|
-
|
57
|
+
LOG.debug 'In base init docker'
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -20,17 +20,15 @@ module Dev
|
|
20
20
|
# Have to set a local variable to be accessible inside of the instance_eval block
|
21
21
|
exclude = @exclude
|
22
22
|
cloudformations = @cloudformations
|
23
|
-
return if exclude.include?(:
|
23
|
+
return if exclude.include?(:status)
|
24
24
|
|
25
25
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
26
26
|
namespace :ci do
|
27
27
|
desc 'Create the ci cloudformation stack in aws'
|
28
|
-
task create: %w(init ensure_aws_credentials
|
28
|
+
task create: %w(init ensure_aws_credentials) do
|
29
|
+
LOG.info
|
29
30
|
next if cloudformations.empty?
|
30
31
|
|
31
|
-
names = cloudformations.map(&:name).join(', ')
|
32
|
-
Dev::Common.new.exit_unless_confirmed(" This will create the #{names} pipelines. Continue?")
|
33
|
-
|
34
32
|
# Start create on all stacks without waiting so they are created in parallel
|
35
33
|
cloudformations.each do |cloudformation|
|
36
34
|
next if cloudformation.exist?
|
@@ -55,17 +53,15 @@ module Dev
|
|
55
53
|
# Have to set a local variable to be accessible inside of the instance_eval block
|
56
54
|
exclude = @exclude
|
57
55
|
cloudformations = @cloudformations
|
58
|
-
return if exclude.include?(:
|
56
|
+
return if exclude.include?(:status)
|
59
57
|
|
60
58
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
61
59
|
namespace :ci do
|
62
60
|
desc 'Update the ci cloudformation stack in aws'
|
63
|
-
task update: %w(init ensure_aws_credentials
|
61
|
+
task update: %w(init ensure_aws_credentials) do
|
62
|
+
LOG.info
|
64
63
|
next if cloudformations.empty?
|
65
64
|
|
66
|
-
names = cloudformations.map(&:name).join(', ')
|
67
|
-
Dev::Common.new.exit_unless_confirmed(" This will update the #{names} pipelines. Continue?")
|
68
|
-
|
69
65
|
# Start update on all stacks without waiting so they are updated in parallel
|
70
66
|
cloudformations.each do |cloudformation|
|
71
67
|
next unless cloudformation.exist?
|
@@ -90,17 +86,15 @@ module Dev
|
|
90
86
|
# Have to set a local variable to be accessible inside of the instance_eval block
|
91
87
|
exclude = @exclude
|
92
88
|
cloudformations = @cloudformations
|
93
|
-
return if exclude.include?(:
|
89
|
+
return if exclude.include?(:status)
|
94
90
|
|
95
91
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
96
92
|
namespace :ci do
|
97
93
|
desc 'Delete the ci cloudformation stack in aws'
|
98
|
-
task delete: %w(init ensure_aws_credentials
|
94
|
+
task delete: %w(init ensure_aws_credentials) do
|
95
|
+
LOG.info
|
99
96
|
next if cloudformations.empty?
|
100
97
|
|
101
|
-
names = cloudformations.map(&:name).join(', ')
|
102
|
-
Dev::Common.new.exit_unless_confirmed(" This will delete the #{names} pipelines. Continue?")
|
103
|
-
|
104
98
|
# Start delete on all stacks without waiting so they are deleted in parallel
|
105
99
|
cloudformations.each do |cloudformation|
|
106
100
|
next unless cloudformation.exist?
|
@@ -130,7 +124,8 @@ module Dev
|
|
130
124
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
131
125
|
namespace :ci do
|
132
126
|
desc 'Show the current status of the pipelines associated with your branch'
|
133
|
-
task status: %w(init ensure_aws_credentials
|
127
|
+
task status: %w(init ensure_aws_credentials) do
|
128
|
+
LOG.info
|
134
129
|
next if cloudformations.empty?
|
135
130
|
|
136
131
|
pattern = /#{cloudformations.map(&:name).join('|')}/
|
@@ -72,7 +72,7 @@ module Dev
|
|
72
72
|
return if exclude.include?(:sh)
|
73
73
|
|
74
74
|
desc "Open a shell into a running #{application} container"
|
75
|
-
task sh: %W(init_docker #{application}:
|
75
|
+
task sh: %W(init_docker #{application}:up _pre_sh_hooks) do
|
76
76
|
Dev::Docker::Compose.new(services: [application]).sh
|
77
77
|
Rake::Task[:_post_sh_hooks].execute
|
78
78
|
end
|
@@ -154,7 +154,7 @@ module Dev
|
|
154
154
|
return if exclude.include?(:reload)
|
155
155
|
|
156
156
|
desc "Reloads the #{application} container"
|
157
|
-
task reload: %w(init_docker _pre_reload_hooks down
|
157
|
+
task reload: %w(init_docker _pre_reload_hooks down up) do
|
158
158
|
Rake::Task[:_post_reload_hooks].execute
|
159
159
|
end
|
160
160
|
end
|
@@ -7,29 +7,15 @@ module Dev
|
|
7
7
|
module Node
|
8
8
|
# Class for default rake tasks associated with a node project
|
9
9
|
class Application < Dev::Template::ApplicationInterface
|
10
|
-
attr_reader :node
|
11
|
-
|
12
|
-
#
|
13
|
-
|
14
|
-
# @param application [String] The name of the application
|
15
|
-
# @param container_path [String] The path to the application inside of the container
|
16
|
-
# @param local_path [String] The path to the application on your local system
|
17
|
-
# @param start_container_dependencies_on_test [Boolean] Whether or not to start up container dependencies when running tests
|
18
|
-
# @param exclude [Array<Symbol>] An array of default template tasks to exclude
|
19
|
-
def initialize(
|
20
|
-
application,
|
21
|
-
container_path: nil,
|
22
|
-
local_path: nil,
|
23
|
-
start_container_dependencies_on_test: true,
|
24
|
-
exclude: []
|
25
|
-
)
|
10
|
+
attr_reader :node
|
11
|
+
|
12
|
+
# Allow for custom container path for the application
|
13
|
+
def initialize(application, container_path: nil, local_path: nil, exclude: [])
|
26
14
|
@node = Dev::Node.new(container_path:, local_path:)
|
27
|
-
@start_container_dependencies_on_test = start_container_dependencies_on_test
|
28
15
|
super(application, exclude:)
|
29
16
|
end
|
30
17
|
|
31
18
|
# Create the rake task which runs linting for the application name
|
32
|
-
# rubocop:disable Metrics/MethodLength
|
33
19
|
def create_lint_task!
|
34
20
|
application = @name
|
35
21
|
node = @node
|
@@ -43,13 +29,6 @@ module Dev
|
|
43
29
|
# This is just a placeholder to execute the dependencies
|
44
30
|
end
|
45
31
|
|
46
|
-
namespace :lint do
|
47
|
-
desc 'Run all linting software and apply all available fixes'
|
48
|
-
task fix: %w(node:lint:fix) do
|
49
|
-
# This is just a placeholder to execute the dependencies
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
32
|
namespace :node do
|
54
33
|
desc "Run the node linting software against the #{application}'s codebase"
|
55
34
|
task lint: %w(init_docker up_no_deps) do
|
@@ -74,14 +53,12 @@ module Dev
|
|
74
53
|
end
|
75
54
|
end
|
76
55
|
end
|
77
|
-
# rubocop:enable Metrics/MethodLength
|
78
56
|
|
79
57
|
# Create the rake task which runs all tests for the application name
|
80
58
|
def create_test_task!
|
81
59
|
application = @name
|
82
60
|
node = @node
|
83
61
|
exclude = @exclude
|
84
|
-
up_cmd = @start_container_dependencies_on_test ? :up : :up_no_deps
|
85
62
|
return if exclude.include?(:test)
|
86
63
|
|
87
64
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
@@ -93,7 +70,7 @@ module Dev
|
|
93
70
|
|
94
71
|
namespace :node do
|
95
72
|
desc "Run all node tests against the #{application}'s codebase"
|
96
|
-
task test: %
|
73
|
+
task test: %w(init_docker up) do
|
97
74
|
LOG.debug("Running all node tests in the #{application} codebase")
|
98
75
|
|
99
76
|
options = []
|
@@ -163,33 +140,6 @@ module Dev
|
|
163
140
|
end
|
164
141
|
end
|
165
142
|
end
|
166
|
-
|
167
|
-
# Create the rake task for the node eol method
|
168
|
-
def create_eol_task!
|
169
|
-
# Have to set a local variable to be accessible inside of the instance_eval block
|
170
|
-
exclude = @exclude
|
171
|
-
node = @node
|
172
|
-
|
173
|
-
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
174
|
-
return if exclude.include?(:eol)
|
175
|
-
|
176
|
-
task eol: [:'eol:node'] do
|
177
|
-
# This is just a placeholder to execute the dependencies
|
178
|
-
end
|
179
|
-
|
180
|
-
namespace :eol do
|
181
|
-
desc 'Compares the current date to the EOL date for supported packages in the node package file'
|
182
|
-
task node: %w(init) do
|
183
|
-
eol = Dev::EndOfLife::Node.new(node)
|
184
|
-
node_products = eol.default_products
|
185
|
-
|
186
|
-
puts
|
187
|
-
puts "Node product versions (in #{eol.lockfile})".light_yellow
|
188
|
-
Dev::EndOfLife.new(product_versions: node_products).status
|
189
|
-
end
|
190
|
-
end
|
191
|
-
end
|
192
|
-
end
|
193
143
|
end
|
194
144
|
end
|
195
145
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require_relative '../../base_interface'
|
2
|
+
require 'securerandom'
|
2
3
|
|
3
4
|
module Dev
|
4
5
|
module Template
|
@@ -7,24 +8,14 @@ module Dev
|
|
7
8
|
module Php
|
8
9
|
# Class for default rake tasks associated with a php project
|
9
10
|
class Application < Dev::Template::ApplicationInterface
|
10
|
-
attr_reader :php, :
|
11
|
-
|
12
|
-
#
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
def initialize(
|
19
|
-
application,
|
20
|
-
container_path: nil,
|
21
|
-
local_path: nil,
|
22
|
-
start_container_dependencies_on_test: true,
|
23
|
-
coverage: nil,
|
24
|
-
exclude: []
|
25
|
-
)
|
26
|
-
@php = Dev::Php.new(container_path:, local_path:, coverage:)
|
27
|
-
@start_container_dependencies_on_test = start_container_dependencies_on_test
|
11
|
+
attr_reader :php, :siloed_tests
|
12
|
+
|
13
|
+
# Allow for custom container path for the application
|
14
|
+
def initialize(application, container_path: nil, local_path: nil, siloed_tests: nil, exclude: [])
|
15
|
+
@php = Dev::Php.new(container_path:, local_path:)
|
16
|
+
# TODO: Better name
|
17
|
+
# TODO: Should this apply to all or just tests?
|
18
|
+
@siloed_tests = siloed_tests
|
28
19
|
|
29
20
|
super(application, exclude:)
|
30
21
|
end
|
@@ -74,7 +65,6 @@ module Dev
|
|
74
65
|
end
|
75
66
|
|
76
67
|
# Create the rake task which runs linting for the application name
|
77
|
-
# rubocop:disable Metrics/MethodLength
|
78
68
|
def create_lint_task!
|
79
69
|
application = @name
|
80
70
|
php = @php
|
@@ -88,13 +78,6 @@ module Dev
|
|
88
78
|
# This is just a placeholder to execute the dependencies
|
89
79
|
end
|
90
80
|
|
91
|
-
namespace :lint do
|
92
|
-
desc 'Run all linting software and apply all available fixes'
|
93
|
-
task fix: %w(php:lint:fix) do
|
94
|
-
# This is just a placeholder to execute the dependencies
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
81
|
namespace :php do
|
99
82
|
desc "Run the php linting software against the #{application}'s codebase"
|
100
83
|
task lint: %w(init_docker up_no_deps) do
|
@@ -119,14 +102,13 @@ module Dev
|
|
119
102
|
end
|
120
103
|
end
|
121
104
|
end
|
122
|
-
# rubocop:enable Metrics/MethodLength
|
123
105
|
|
124
106
|
# Create the rake task which runs all tests for the application name
|
125
107
|
def create_test_task!
|
126
108
|
application = @name
|
127
109
|
php = @php
|
110
|
+
siloed_tests = @siloed_tests
|
128
111
|
exclude = @exclude
|
129
|
-
up_cmd = @start_container_dependencies_on_test ? :up : :up_no_deps
|
130
112
|
return if exclude.include?(:test)
|
131
113
|
|
132
114
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
@@ -138,13 +120,16 @@ module Dev
|
|
138
120
|
|
139
121
|
namespace :php do
|
140
122
|
desc "Run all php tests against the #{application}'s codebase"
|
141
|
-
task test: %
|
123
|
+
task test: %w(init_docker up) do
|
142
124
|
LOG.debug("Running all php tests in the #{application} codebase")
|
143
125
|
|
126
|
+
project_name = nil
|
127
|
+
project_name = SecureRandom.hex if siloed_tests
|
128
|
+
|
144
129
|
options = []
|
145
130
|
options << '-T' if Dev::Common.new.running_codebuild?
|
146
|
-
Dev::Docker::Compose.new(services: application, options:).exec(*php.test_command)
|
147
|
-
|
131
|
+
Dev::Docker::Compose.new(project_name:, services: application, options:).exec(*php.test_command)
|
132
|
+
# TODO: Add clean if we are siloed
|
148
133
|
end
|
149
134
|
end
|
150
135
|
end
|
@@ -210,33 +195,6 @@ module Dev
|
|
210
195
|
end
|
211
196
|
end
|
212
197
|
end
|
213
|
-
|
214
|
-
# Create the rake task for the php eol method
|
215
|
-
def create_eol_task!
|
216
|
-
# Have to set a local variable to be accessible inside of the instance_eval block
|
217
|
-
exclude = @exclude
|
218
|
-
php = @php
|
219
|
-
|
220
|
-
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
221
|
-
return if exclude.include?(:eol)
|
222
|
-
|
223
|
-
task eol: [:'eol:php'] do
|
224
|
-
# Thie is just a placeholder to execute the dependencies
|
225
|
-
end
|
226
|
-
|
227
|
-
namespace :eol do
|
228
|
-
desc 'Compares the current date to the EOL date for supported packages in the php package file'
|
229
|
-
task php: %w(init) do
|
230
|
-
eol = Dev::EndOfLife::Php.new(php)
|
231
|
-
php_products = eol.default_products
|
232
|
-
|
233
|
-
puts
|
234
|
-
puts "Php product versions (in #{eol.lockfile})".light_yellow
|
235
|
-
Dev::EndOfLife.new(product_versions: php_products).status
|
236
|
-
end
|
237
|
-
end
|
238
|
-
end
|
239
|
-
end
|
240
198
|
end
|
241
199
|
end
|
242
200
|
end
|
@@ -7,28 +7,15 @@ module Dev
|
|
7
7
|
module Ruby
|
8
8
|
# Class for default rake tasks associated with a ruby project
|
9
9
|
class Application < Dev::Template::ApplicationInterface
|
10
|
-
attr_reader :ruby
|
11
|
-
|
12
|
-
#
|
13
|
-
|
14
|
-
# @param application [String] The name of the application
|
15
|
-
# @param container_path [String] The path to the application inside of the container
|
16
|
-
# @param local_path [String] The path to the application on your local system
|
17
|
-
# @param start_container_dependencies_on_test [Boolean] Whether or not to start up container dependencies when running tests
|
18
|
-
def initialize(
|
19
|
-
application,
|
20
|
-
container_path: nil,
|
21
|
-
local_path: nil,
|
22
|
-
start_container_dependencies_on_test: true,
|
23
|
-
exclude: []
|
24
|
-
)
|
10
|
+
attr_reader :ruby
|
11
|
+
|
12
|
+
# Allow for custom container path for the application
|
13
|
+
def initialize(application, container_path: nil, local_path: nil, exclude: [])
|
25
14
|
@ruby = Dev::Ruby.new(container_path:, local_path:)
|
26
|
-
@start_container_dependencies_on_test = start_container_dependencies_on_test
|
27
15
|
super(application, exclude:)
|
28
16
|
end
|
29
17
|
|
30
18
|
# Create the rake task which runs linting for the application name
|
31
|
-
# rubocop:disable Metrics/MethodLength
|
32
19
|
def create_lint_task!
|
33
20
|
application = @name
|
34
21
|
ruby = @ruby
|
@@ -42,13 +29,6 @@ module Dev
|
|
42
29
|
# This is just a placeholder to execute the dependencies
|
43
30
|
end
|
44
31
|
|
45
|
-
namespace :lint do
|
46
|
-
desc 'Run all linting software and apply all available fixes'
|
47
|
-
task fix: %w(ruby:lint:fix) do
|
48
|
-
# This is just a placeholder to execute the dependencies
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
32
|
namespace :ruby do
|
53
33
|
desc "Run the ruby linting software against the #{application}'s codebase"
|
54
34
|
task lint: %w(init_docker up_no_deps) do
|
@@ -73,14 +53,12 @@ module Dev
|
|
73
53
|
end
|
74
54
|
end
|
75
55
|
end
|
76
|
-
# rubocop:enable Metrics/MethodLength
|
77
56
|
|
78
57
|
# Create the rake task which runs all tests for the application name
|
79
58
|
def create_test_task!
|
80
59
|
application = @name
|
81
60
|
ruby = @ruby
|
82
61
|
exclude = @exclude
|
83
|
-
up_cmd = @start_container_dependencies_on_test ? :up : :up_no_deps
|
84
62
|
return if exclude.include?(:test)
|
85
63
|
|
86
64
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
@@ -92,7 +70,7 @@ module Dev
|
|
92
70
|
|
93
71
|
namespace :ruby do
|
94
72
|
desc "Run all ruby tests against the #{application}'s codebase"
|
95
|
-
task test: %
|
73
|
+
task test: %w(init_docker up_no_deps) do
|
96
74
|
LOG.debug("Running all ruby tests in the #{application} codebase")
|
97
75
|
|
98
76
|
options = []
|
@@ -163,33 +141,6 @@ module Dev
|
|
163
141
|
end
|
164
142
|
end
|
165
143
|
end
|
166
|
-
|
167
|
-
# Create the rake task for the ruby eol method
|
168
|
-
def create_eol_task!
|
169
|
-
# Have to set a local variable to be accessible inside of the instance_eval block
|
170
|
-
exclude = @exclude
|
171
|
-
ruby = @ruby
|
172
|
-
|
173
|
-
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
174
|
-
return if exclude.include?(:eol)
|
175
|
-
|
176
|
-
task eol: [:'eol:ruby'] do
|
177
|
-
# This is just a placeholder to execute the dependencies
|
178
|
-
end
|
179
|
-
|
180
|
-
namespace :eol do
|
181
|
-
desc 'Compares the current date to the EOL date for supported packages in the ruby package file'
|
182
|
-
task ruby: %w(init) do
|
183
|
-
eol = Dev::EndOfLife::Ruby.new(ruby)
|
184
|
-
ruby_products = eol.default_products
|
185
|
-
|
186
|
-
puts
|
187
|
-
puts "Ruby product versions (in #{eol.lockfile})".light_yellow
|
188
|
-
Dev::EndOfLife.new(product_versions: ruby_products).status
|
189
|
-
end
|
190
|
-
end
|
191
|
-
end
|
192
|
-
end
|
193
144
|
end
|
194
145
|
end
|
195
146
|
end
|
@@ -12,16 +12,9 @@ module Dev
|
|
12
12
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
13
13
|
return if exclude.include?(:eol)
|
14
14
|
|
15
|
-
desc 'Compares the current date to the EOL date for all configured projects'
|
16
|
-
"\n\toptionally specify CHECK_AWS=<true/false> to toggle whether AWS resources are checked for EOL (defaults to true)"
|
15
|
+
desc 'Compares the current date to the EOL date for all configured projects'
|
17
16
|
task eol: %w(init) do
|
18
|
-
|
19
|
-
next if manual_products.empty?
|
20
|
-
|
21
|
-
puts
|
22
|
-
puts 'Manual product versions'
|
23
|
-
Dev::EndOfLife.new(product_versions: manual_products).status
|
24
|
-
puts
|
17
|
+
Dev::EndOfLife.new.check
|
25
18
|
end
|
26
19
|
end
|
27
20
|
end
|