rake_fly 2.3.0 → 2.8.0.pre.1

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: 2f64b2459e19b0db9b194647d96f620583be4ac39c8607557ae54c345c826132
4
- data.tar.gz: f8f6737ef17bf9ebe9306f1eb458ca35e8ac7139d8eda6a10e908f2878de82ef
3
+ metadata.gz: 2bbbb23186e41a52efe1e3496ef804fcf60fbc79c5d42c7ad3ba1e4f1e592bb6
4
+ data.tar.gz: 6d2dad964786742c7fbd1e466247aaa2f4c94f56cf1850eafda5d73b36ed4d67
5
5
  SHA512:
6
- metadata.gz: 871493e578de86b5bf49b0c7123f8cdaea12dc191f55610b2151bbed2fdfbcb0442fe89253198b5b1f999ae58c7826f6b3022d749c4dc2f969561e76219e77c5
7
- data.tar.gz: bff4068967ee0809f0b5f947d5e645b38546418b3e0632650e341aea21c23f54cd469c3376cc394ca9b550d0827c1df7270be1393ba2a86f0ecbd185958f3945
6
+ metadata.gz: 8d57825f3d0b196559a1b754cf01626162ab8582c5c7d18bd784e0c4500763489f6e034555a5475a97379fb6eb7fc659ecf20f6d7eebada61cb16e0de140ac7a
7
+ data.tar.gz: 1805c590ba24469eeb297ee795afc94766a09aa6a3fc5ad04e49859dcaf2c2b70091c21a5c976e589947ebaf0bdce27f9069d7447b627855f688e5eb9f2bfc8f
data/CODE_OF_CONDUCT.md CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
55
55
  ## Enforcement
56
56
 
57
57
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at tobyclemson@gmail.com. All
58
+ reported by contacting the project team at maintainers@infrablocks.io. All
59
59
  complaints will be reviewed and investigated and will result in a response that
60
60
  is deemed necessary and appropriate to the circumstances. The project team is
61
61
  obligated to maintain confidentiality with regard to the reporter of an incident.
data/Gemfile.lock CHANGED
@@ -1,17 +1,17 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_fly (2.3.0)
4
+ rake_fly (2.8.0.pre.1)
5
5
  concourse.rb (>= 0.4)
6
6
  rake_dependencies (~> 2, < 3)
7
7
  rake_factory (>= 0.29, < 1)
8
- ruby_fly (>= 0.31)
8
+ ruby_fly (>= 0.35)
9
9
  semantic (~> 1.6.1)
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- activesupport (6.1.0)
14
+ activesupport (6.1.3.2)
15
15
  concurrent-ruby (~> 1.0, >= 1.0.2)
16
16
  i18n (>= 1.6, < 2)
17
17
  minitest (>= 5.1)
@@ -24,10 +24,10 @@ GEM
24
24
  dry-schema (~> 0.5)
25
25
  excon (~> 0.72)
26
26
  semantic (~> 1.5)
27
- concurrent-ruby (1.1.7)
27
+ concurrent-ruby (1.1.8)
28
28
  diff-lcs (1.4.4)
29
- docile (1.3.4)
30
- dry-configurable (0.12.0)
29
+ docile (1.4.0)
30
+ dry-configurable (0.12.1)
31
31
  concurrent-ruby (~> 1.0)
32
32
  dry-core (~> 0.5, >= 0.5.0)
33
33
  dry-container (0.7.2)
@@ -38,7 +38,7 @@ GEM
38
38
  dry-equalizer (0.3.0)
39
39
  dry-inflector (0.2.0)
40
40
  dry-initializer (3.0.4)
41
- dry-logic (1.1.0)
41
+ dry-logic (1.2.0)
42
42
  concurrent-ruby (~> 1.0)
43
43
  dry-core (~> 0.5, >= 0.5)
44
44
  dry-schema (0.6.0)
@@ -49,35 +49,42 @@ GEM
49
49
  dry-initializer (~> 3.0)
50
50
  dry-logic (~> 1.0)
51
51
  dry-types (~> 1.0)
52
- dry-types (1.4.0)
52
+ dry-types (1.5.1)
53
53
  concurrent-ruby (~> 1.0)
54
54
  dry-container (~> 0.3)
55
- dry-core (~> 0.4, >= 0.4.4)
56
- dry-equalizer (~> 0.3)
55
+ dry-core (~> 0.5, >= 0.5)
57
56
  dry-inflector (~> 0.1, >= 0.1.2)
58
57
  dry-logic (~> 1.0, >= 1.0.2)
59
- excon (0.78.1)
58
+ excon (0.82.0)
60
59
  fakefs (0.20.1)
61
- faker (2.15.1)
60
+ faker (2.18.0)
62
61
  i18n (>= 1.6, < 2)
63
- faraday (1.3.0)
62
+ faraday (1.4.2)
63
+ faraday-em_http (~> 1.0)
64
+ faraday-em_synchrony (~> 1.0)
65
+ faraday-excon (~> 1.1)
64
66
  faraday-net_http (~> 1.0)
67
+ faraday-net_http_persistent (~> 1.1)
65
68
  multipart-post (>= 1.2, < 3)
66
- ruby2_keywords
67
- faraday-net_http (1.0.0)
68
- gem-release (2.2.0)
69
+ ruby2_keywords (>= 0.0.4)
70
+ faraday-em_http (1.0.0)
71
+ faraday-em_synchrony (1.0.0)
72
+ faraday-excon (1.1.0)
73
+ faraday-net_http (1.0.1)
74
+ faraday-net_http_persistent (1.1.0)
75
+ gem-release (2.2.1)
69
76
  hamster (3.0.0)
70
77
  concurrent-ruby (~> 1.0)
71
- i18n (1.8.7)
78
+ i18n (1.8.10)
72
79
  concurrent-ruby (~> 1.0)
73
- jwt (2.2.2)
74
- lino (1.7.0)
80
+ jwt (2.2.3)
81
+ lino (3.0.0)
75
82
  hamster (~> 3.0)
76
83
  open4 (~> 1.3)
77
84
  minitar (0.9)
78
- minitest (5.14.2)
85
+ minitest (5.14.4)
79
86
  multipart-post (2.1.1)
80
- octokit (4.20.0)
87
+ octokit (4.21.0)
81
88
  faraday (>= 0.9)
82
89
  sawyer (~> 0.8.0, >= 0.5.3)
83
90
  open4 (1.3.4)
@@ -89,7 +96,7 @@ GEM
89
96
  excon (~> 0.72)
90
97
  rake_factory (~> 0.23)
91
98
  sshkey (~> 2.0)
92
- rake_dependencies (2.9.0)
99
+ rake_dependencies (2.11.0)
93
100
  hamster (~> 3.0)
94
101
  minitar (~> 0.9)
95
102
  rake_factory (~> 0.23)
@@ -102,7 +109,7 @@ GEM
102
109
  octokit (~> 4.16)
103
110
  rake_factory (~> 0.23)
104
111
  sshkey (~> 2.0)
105
- rake_gpg (0.14.0)
112
+ rake_gpg (0.16.0)
106
113
  rake_factory (>= 0.23, < 1)
107
114
  ruby_gpg2 (>= 0.6, < 1)
108
115
  rake_ssh (0.6.0)
@@ -118,12 +125,12 @@ GEM
118
125
  rspec-expectations (3.10.1)
119
126
  diff-lcs (>= 1.2.0, < 2.0)
120
127
  rspec-support (~> 3.10.0)
121
- rspec-mocks (3.10.1)
128
+ rspec-mocks (3.10.2)
122
129
  diff-lcs (>= 1.2.0, < 2.0)
123
130
  rspec-support (~> 3.10.0)
124
- rspec-support (3.10.1)
125
- ruby2_keywords (0.0.2)
126
- ruby_fly (0.31.0)
131
+ rspec-support (3.10.2)
132
+ ruby2_keywords (0.0.4)
133
+ ruby_fly (0.35.0)
127
134
  lino (>= 1.5)
128
135
  ruby_gpg2 (0.8.0)
129
136
  lino (>= 1.5)
@@ -132,12 +139,12 @@ GEM
132
139
  addressable (>= 2.3.5)
133
140
  faraday (> 0.8, < 2.0)
134
141
  semantic (1.6.1)
135
- simplecov (0.21.1)
142
+ simplecov (0.21.2)
136
143
  docile (~> 1.1)
137
144
  simplecov-html (~> 0.11)
138
145
  simplecov_json_formatter (~> 0.1)
139
146
  simplecov-html (0.12.3)
140
- simplecov_json_formatter (0.1.2)
147
+ simplecov_json_formatter (0.1.3)
141
148
  sshkey (2.0.0)
142
149
  tzinfo (2.0.4)
143
150
  concurrent-ruby (~> 1.0)
@@ -165,4 +172,4 @@ DEPENDENCIES
165
172
  simplecov (~> 0.16)
166
173
 
167
174
  BUNDLED WITH
168
- 2.2.4
175
+ 2.2.18
data/lib/rake_fly.rb CHANGED
@@ -47,12 +47,16 @@ module RakeFly
47
47
  RakeDependencies::TaskSets::All.define(task_set_opts)
48
48
  end
49
49
 
50
+ def self.define_authentication_tasks(opts = {}, &block)
51
+ RakeFly::TaskSets::Authentication.define(opts, &block)
52
+ end
53
+
50
54
  def self.define_pipeline_tasks(opts = {}, &block)
51
55
  RakeFly::TaskSets::Pipeline.define(opts, &block)
52
56
  end
53
57
 
54
- def self.define_authentication_tasks(opts = {}, &block)
55
- RakeFly::TaskSets::Authentication.define(opts, &block)
58
+ def self.define_project_tasks(opts = {}, &block)
59
+ RakeFly::TaskSets::Project.define(opts, &block)
56
60
  end
57
61
 
58
62
  private
@@ -1,2 +1,3 @@
1
- require_relative 'task_sets/pipeline'
2
1
  require_relative 'task_sets/authentication'
2
+ require_relative 'task_sets/pipeline'
3
+ require_relative 'task_sets/project'
@@ -28,6 +28,7 @@ module RakeFly
28
28
  parameter :set_task_name, default: :set
29
29
  parameter :unpause_task_name, default: :unpause
30
30
  parameter :push_task_name, default: :push
31
+ parameter :destroy_task_name, default: :destroy
31
32
 
32
33
  parameter :fly_ensure_task_name, default: :'fly:ensure'
33
34
 
@@ -47,6 +48,10 @@ module RakeFly
47
48
  name: RakeFactory::DynamicValue.new { |ts|
48
49
  ts.push_task_name
49
50
  }
51
+ task Tasks::Pipeline::Destroy,
52
+ name: RakeFactory::DynamicValue.new { |ts|
53
+ ts.destroy_task_name
54
+ }
50
55
  end
51
56
  end
52
57
  end
@@ -0,0 +1,134 @@
1
+ require 'rake_factory'
2
+
3
+ require_relative '../tasks/authentication/login'
4
+ require_relative '../tasks/authentication/ensure'
5
+ require_relative '../tasks/pipeline/get'
6
+ require_relative '../tasks/pipeline/set'
7
+ require_relative '../tasks/pipeline/unpause'
8
+ require_relative '../tasks/pipeline/push'
9
+
10
+ module RakeFly
11
+ module TaskSets
12
+ class Project < RakeFactory::TaskSet
13
+ prepend RakeFactory::Namespaceable
14
+
15
+ parameter :argument_names, default: []
16
+
17
+ parameter :concourse_url, required: true
18
+ parameter :team, default: 'main'
19
+ parameter :username
20
+ parameter :password
21
+
22
+ parameter :pipeline, required: true
23
+ parameter :config, required: true
24
+
25
+ parameter :vars
26
+ parameter :var_files
27
+ parameter :non_interactive
28
+
29
+ parameter :target,
30
+ default: RakeFactory::DynamicValue.new { |t| t.team }
31
+
32
+ parameter :home_directory,
33
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
34
+
35
+ parameter :authentication_namespace, default: :authentication
36
+ parameter :authentication_login_task_name, default: :login
37
+ parameter :authentication_ensure_task_name, default: :ensure
38
+
39
+ parameter :pipeline_namespace, default: :pipeline
40
+ parameter :pipeline_get_task_name, default: :get
41
+ parameter :pipeline_set_task_name, default: :set
42
+ parameter :pipeline_unpause_task_name, default: :unpause
43
+ parameter :pipeline_push_task_name, default: :push
44
+ parameter :pipeline_destroy_task_name, default: :destroy
45
+
46
+ parameter :fly_ensure_task_name, default: :'fly:ensure'
47
+
48
+ task Tasks::Authentication::Login,
49
+ name: RakeFactory::DynamicValue.new { |ts|
50
+ ts.authentication_login_task_name
51
+ }
52
+ task Tasks::Authentication::Ensure,
53
+ name: RakeFactory::DynamicValue.new { |ts|
54
+ ts.authentication_ensure_task_name
55
+ },
56
+ login_task_name: RakeFactory::DynamicValue.new { |ts|
57
+ ts.authentication_login_task_name
58
+ }
59
+
60
+ task Tasks::Pipeline::Get,
61
+ name: RakeFactory::DynamicValue.new { |ts|
62
+ ts.pipeline_get_task_name
63
+ },
64
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
65
+ (ts.authentication_namespace.to_s + ":" +
66
+ ts.authentication_ensure_task_name.to_s)
67
+ .to_sym
68
+ }
69
+ task Tasks::Pipeline::Set,
70
+ name: RakeFactory::DynamicValue.new { |ts|
71
+ ts.pipeline_set_task_name
72
+ },
73
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
74
+ (ts.authentication_namespace.to_s + ":" +
75
+ ts.authentication_ensure_task_name.to_s)
76
+ .to_sym
77
+ }
78
+ task Tasks::Pipeline::Unpause,
79
+ name: RakeFactory::DynamicValue.new { |ts|
80
+ ts.pipeline_unpause_task_name
81
+ },
82
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
83
+ (ts.authentication_namespace.to_s + ":" +
84
+ ts.authentication_ensure_task_name.to_s)
85
+ .to_sym
86
+ }
87
+ task Tasks::Pipeline::Push,
88
+ name: RakeFactory::DynamicValue.new { |ts|
89
+ ts.pipeline_push_task_name
90
+ },
91
+ get_task_name: RakeFactory::DynamicValue.new { |ts|
92
+ ts.pipeline_get_task_name
93
+ },
94
+ set_task_name: RakeFactory::DynamicValue.new { |ts|
95
+ ts.pipeline_set_task_name
96
+ },
97
+ unpause_task_name: RakeFactory::DynamicValue.new { |ts|
98
+ ts.pipeline_unpause_task_name
99
+ }
100
+ task Tasks::Pipeline::Destroy,
101
+ name: RakeFactory::DynamicValue.new { |ts|
102
+ ts.pipeline_destroy_task_name
103
+ },
104
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
105
+ (ts.authentication_namespace.to_s + ":" +
106
+ ts.authentication_ensure_task_name.to_s)
107
+ .to_sym
108
+ }
109
+
110
+ def define_on(application)
111
+ around_define(application) do
112
+ self.class.tasks.each do |task_definition|
113
+ task_class = task_definition.klass.to_s
114
+ ns = case task_class
115
+ when /Pipeline/
116
+ pipeline_namespace
117
+ when /Authentication/
118
+ authentication_namespace
119
+ else
120
+ raise StandardError.new(
121
+ "Unexpected task definition: #{task_class}.")
122
+ end
123
+
124
+ application.in_namespace(ns) do
125
+ task_definition
126
+ .for_task_set(self)
127
+ .define_on(application)
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -4,3 +4,4 @@ require_relative 'tasks/pipeline/get'
4
4
  require_relative 'tasks/pipeline/set'
5
5
  require_relative 'tasks/pipeline/unpause'
6
6
  require_relative 'tasks/pipeline/push'
7
+ require_relative 'tasks/pipeline/destroy'
@@ -21,6 +21,8 @@ module RakeFly
21
21
  parameter :home_directory,
22
22
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
23
23
 
24
+ parameter :login_task_name, :default => :login
25
+
24
26
  parameter :fly_ensure_task_name, :default => :'fly:ensure'
25
27
 
26
28
  action do |t, args|
@@ -34,7 +36,7 @@ module RakeFly
34
36
  puts "Already logged in. Continuing..."
35
37
  else
36
38
  puts "Not logged in. Logging in..."
37
- t.application[:login, t.scope].invoke(*args)
39
+ t.application[t.login_task_name, t.scope].invoke(*args)
38
40
  end
39
41
  end
40
42
  end
@@ -0,0 +1,46 @@
1
+ require 'ruby_fly'
2
+ require 'rake_factory'
3
+
4
+ module RakeFly
5
+ module Tasks
6
+ module Pipeline
7
+ class Destroy < RakeFactory::Task
8
+ default_name :destroy
9
+ default_prerequisites RakeFactory::DynamicValue.new { |t|
10
+ [t.fly_ensure_task_name, t.authentication_ensure_task_name]
11
+ }
12
+ default_description RakeFactory::DynamicValue.new { |t|
13
+ pipeline = t.pipeline || '<derived>'
14
+ target = t.target || '<derived>'
15
+
16
+ "Destroy pipeline #{pipeline} for target #{target}"
17
+ }
18
+
19
+ parameter :target, :required => true
20
+ parameter :team
21
+ parameter :pipeline, :required => true
22
+
23
+ parameter :non_interactive
24
+
25
+ parameter :home_directory,
26
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
27
+
28
+ parameter :fly_ensure_task_name, :default => :'fly:ensure'
29
+ parameter :authentication_ensure_task_name,
30
+ :default => :'authentication:ensure'
31
+
32
+ action do |t|
33
+ puts "Destroying pipeline #{t.pipeline} for target #{t.target}..."
34
+ RubyFly.destroy_pipeline(
35
+ target: t.target,
36
+ team: t.team,
37
+ pipeline: t.pipeline,
38
+ non_interactive: t.non_interactive,
39
+ environment: {
40
+ "HOME" => t.home_directory
41
+ })
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -1,3 +1,3 @@
1
1
  module RakeFly
2
- VERSION = '2.3.0'
2
+ VERSION = '2.8.0.pre.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_fly
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.8.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
- - Toby Clemson
7
+ - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-06 00:00:00.000000000 Z
11
+ date: 2021-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_dependencies
@@ -56,14 +56,14 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '0.31'
59
+ version: '0.35'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: '0.31'
66
+ version: '0.35'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: concourse.rb
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -291,7 +291,7 @@ dependencies:
291
291
  description: Rake tasks for common fly interactions allowing Concourse pipelines to
292
292
  be managed as part of a build.
293
293
  email:
294
- - tobyclemson@gmail.com
294
+ - maintainers@infrablocks.io
295
295
  executables: []
296
296
  extensions: []
297
297
  extra_rdoc_files: []
@@ -309,15 +309,17 @@ files:
309
309
  - lib/rake_fly/task_sets.rb
310
310
  - lib/rake_fly/task_sets/authentication.rb
311
311
  - lib/rake_fly/task_sets/pipeline.rb
312
+ - lib/rake_fly/task_sets/project.rb
312
313
  - lib/rake_fly/tasks.rb
313
314
  - lib/rake_fly/tasks/authentication/ensure.rb
314
315
  - lib/rake_fly/tasks/authentication/login.rb
316
+ - lib/rake_fly/tasks/pipeline/destroy.rb
315
317
  - lib/rake_fly/tasks/pipeline/get.rb
316
318
  - lib/rake_fly/tasks/pipeline/push.rb
317
319
  - lib/rake_fly/tasks/pipeline/set.rb
318
320
  - lib/rake_fly/tasks/pipeline/unpause.rb
319
321
  - lib/rake_fly/version.rb
320
- homepage: https://github.com/tobyclemson/rake_fly
322
+ homepage: https://github.com/infrablocks/rake_fly
321
323
  licenses:
322
324
  - MIT
323
325
  metadata: {}
@@ -332,9 +334,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
332
334
  version: '2.6'
333
335
  required_rubygems_version: !ruby/object:Gem::Requirement
334
336
  requirements:
335
- - - ">="
337
+ - - ">"
336
338
  - !ruby/object:Gem::Version
337
- version: '0'
339
+ version: 1.3.1
338
340
  requirements: []
339
341
  rubygems_version: 3.0.1
340
342
  signing_key: