rake_fly 1.13.0 → 2.0.0.pre.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +44 -34
- data/Rakefile +31 -5
- data/lib/rake_fly/task_sets/pipeline.rb +17 -15
- data/lib/rake_fly/tasks.rb +4 -4
- data/lib/rake_fly/tasks/pipeline/get.rb +33 -0
- data/lib/rake_fly/tasks/pipeline/push.rb +35 -0
- data/lib/rake_fly/tasks/pipeline/set.rb +44 -0
- data/lib/rake_fly/tasks/pipeline/unpause.rb +35 -0
- data/lib/rake_fly/version.rb +1 -1
- metadata +32 -46
- data/.circleci/config.yml +0 -56
- data/.circleci/gpg.private.enc +0 -0
- data/.envrc +0 -5
- data/.git-crypt/.gitattributes +0 -4
- data/.git-crypt/keys/default/0/41D2606F66C3FF28874362B61A16916844CE9D82.gpg +0 -0
- data/.git-crypt/keys/default/0/AAE932B730C2BA697FFDFAE05DA390873E38358B.gpg +0 -0
- data/.gitattributes +0 -1
- data/.gitignore +0 -32
- data/.rspec +0 -2
- data/.ruby-version +0 -1
- data/config/secrets/.unlocked +0 -1
- data/config/secrets/ci/encryption.passphrase +0 -1
- data/config/secrets/ci/gpg.private +0 -58
- data/config/secrets/ci/gpg.public +0 -31
- data/config/secrets/ci/ssh.private +0 -51
- data/config/secrets/ci/ssh.public +0 -1
- data/config/secrets/circle_ci/config.yaml +0 -2
- data/config/secrets/github/config.yaml +0 -2
- data/config/secrets/rubygems/credentials +0 -2
- data/go +0 -56
- data/lib/rake_fly/tasks/get_pipeline.rb +0 -31
- data/lib/rake_fly/tasks/push_pipeline.rb +0 -34
- data/lib/rake_fly/tasks/set_pipeline.rb +0 -40
- data/lib/rake_fly/tasks/unpause_pipeline.rb +0 -31
- data/rake_fly.gemspec +0 -43
- data/scripts/ci/common/configure-git.sh +0 -8
- data/scripts/ci/common/configure-rubygems.sh +0 -16
- data/scripts/ci/common/install-git-crypt.sh +0 -8
- data/scripts/ci/common/install-gpg-key.sh +0 -19
- data/scripts/ci/steps/prerelease.sh +0 -16
- data/scripts/ci/steps/release.sh +0 -18
- data/scripts/ci/steps/test.sh +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6833139bfe6b492d3250ec7db54009a2a12adf0546bea2f41fa6bf152d6d7829
|
4
|
+
data.tar.gz: 245dc8182b2676ded02571eabfb44ce2b350d0e154d9355c11f944296bcb2657
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af314f9e92e7ed1e51e73b3d96e96bc82ccbd753d94a8e498b3e22b1908b1772412cd7960b43c98b006d227ad3d2b14a2a617bd0f7a3283293da24978e16d366
|
7
|
+
data.tar.gz: 077f960a221ece5642cc32d1a24714b3b74561324e0d64ed5bcd2ea95d3b090b7267ba6df9c50f8c98a56e6ec341fbea24acef75ad18dcf380b2c91d7416ecf3
|
data/Gemfile.lock
CHANGED
@@ -1,68 +1,73 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rake_fly (
|
4
|
+
rake_fly (2.0.0.pre.pre.1)
|
5
5
|
rake_dependencies (~> 2, < 3)
|
6
|
-
rake_factory (>= 0.
|
7
|
-
ruby_fly (>= 0.
|
6
|
+
rake_factory (>= 0.29, < 1)
|
7
|
+
ruby_fly (>= 0.19)
|
8
8
|
semantic (~> 1.6.1)
|
9
9
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
activesupport (6.0
|
13
|
+
activesupport (6.1.0)
|
14
14
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
15
|
-
i18n (>=
|
16
|
-
minitest (
|
17
|
-
tzinfo (~>
|
18
|
-
zeitwerk (~> 2.
|
15
|
+
i18n (>= 1.6, < 2)
|
16
|
+
minitest (>= 5.1)
|
17
|
+
tzinfo (~> 2.0)
|
18
|
+
zeitwerk (~> 2.3)
|
19
19
|
addressable (2.7.0)
|
20
20
|
public_suffix (>= 2.0.2, < 5.0)
|
21
21
|
colored2 (3.1.2)
|
22
22
|
concurrent-ruby (1.1.7)
|
23
23
|
diff-lcs (1.4.4)
|
24
|
-
docile (1.3.
|
25
|
-
excon (0.78.
|
24
|
+
docile (1.3.4)
|
25
|
+
excon (0.78.1)
|
26
26
|
fakefs (0.20.1)
|
27
|
-
faraday (1.
|
27
|
+
faraday (1.3.0)
|
28
|
+
faraday-net_http (~> 1.0)
|
28
29
|
multipart-post (>= 1.2, < 3)
|
29
30
|
ruby2_keywords
|
31
|
+
faraday-net_http (1.0.0)
|
30
32
|
gem-release (2.2.0)
|
31
33
|
hamster (3.0.0)
|
32
34
|
concurrent-ruby (~> 1.0)
|
33
|
-
i18n (1.8.
|
35
|
+
i18n (1.8.6)
|
34
36
|
concurrent-ruby (~> 1.0)
|
35
|
-
lino (1.
|
37
|
+
lino (1.7.0)
|
36
38
|
hamster (~> 3.0)
|
37
39
|
open4 (~> 1.3)
|
38
40
|
minitar (0.9)
|
39
41
|
minitest (5.14.2)
|
40
42
|
multipart-post (2.1.1)
|
41
|
-
octokit (4.
|
43
|
+
octokit (4.20.0)
|
42
44
|
faraday (>= 0.9)
|
43
45
|
sawyer (~> 0.8.0, >= 0.5.3)
|
44
46
|
open4 (1.3.4)
|
45
47
|
public_suffix (4.0.6)
|
46
|
-
rake (13.0.
|
47
|
-
rake_circle_ci (0.
|
48
|
+
rake (13.0.3)
|
49
|
+
rake_circle_ci (0.9.0)
|
48
50
|
colored2 (~> 3.1)
|
49
51
|
excon (~> 0.72)
|
50
52
|
rake_factory (~> 0.23)
|
51
53
|
sshkey (~> 2.0)
|
52
|
-
rake_dependencies (2.
|
54
|
+
rake_dependencies (2.9.0)
|
53
55
|
hamster (~> 3.0)
|
54
56
|
minitar (~> 0.9)
|
55
57
|
rake_factory (~> 0.23)
|
56
58
|
rubyzip (>= 1.3)
|
57
|
-
rake_factory (0.
|
59
|
+
rake_factory (0.29.0)
|
58
60
|
activesupport (>= 4)
|
59
61
|
rake (~> 13.0)
|
60
|
-
rake_github (0.
|
62
|
+
rake_github (0.7.0)
|
61
63
|
colored2 (~> 3.1)
|
62
64
|
octokit (~> 4.16)
|
63
65
|
rake_factory (~> 0.23)
|
64
66
|
sshkey (~> 2.0)
|
65
|
-
|
67
|
+
rake_gpg (0.14.0)
|
68
|
+
rake_factory (>= 0.23, < 1)
|
69
|
+
ruby_gpg2 (>= 0.6, < 1)
|
70
|
+
rake_ssh (0.6.0)
|
66
71
|
colored2 (~> 3.1)
|
67
72
|
rake_factory (~> 0.23)
|
68
73
|
sshkey (~> 2.0)
|
@@ -70,35 +75,39 @@ GEM
|
|
70
75
|
rspec-core (~> 3.10.0)
|
71
76
|
rspec-expectations (~> 3.10.0)
|
72
77
|
rspec-mocks (~> 3.10.0)
|
73
|
-
rspec-core (3.10.
|
78
|
+
rspec-core (3.10.1)
|
74
79
|
rspec-support (~> 3.10.0)
|
75
|
-
rspec-expectations (3.10.
|
80
|
+
rspec-expectations (3.10.1)
|
76
81
|
diff-lcs (>= 1.2.0, < 2.0)
|
77
82
|
rspec-support (~> 3.10.0)
|
78
|
-
rspec-mocks (3.10.
|
83
|
+
rspec-mocks (3.10.1)
|
79
84
|
diff-lcs (>= 1.2.0, < 2.0)
|
80
85
|
rspec-support (~> 3.10.0)
|
81
|
-
rspec-support (3.10.
|
86
|
+
rspec-support (3.10.1)
|
82
87
|
ruby2_keywords (0.0.2)
|
83
|
-
ruby_fly (0.
|
88
|
+
ruby_fly (0.23.0)
|
89
|
+
lino (>= 1.5)
|
90
|
+
ruby_gpg2 (0.8.0)
|
84
91
|
lino (>= 1.5)
|
85
92
|
rubyzip (2.3.0)
|
86
93
|
sawyer (0.8.2)
|
87
94
|
addressable (>= 2.3.5)
|
88
95
|
faraday (> 0.8, < 2.0)
|
89
96
|
semantic (1.6.1)
|
90
|
-
simplecov (0.
|
97
|
+
simplecov (0.21.0)
|
91
98
|
docile (~> 1.1)
|
92
99
|
simplecov-html (~> 0.11)
|
100
|
+
simplecov_json_formatter (~> 0.1)
|
93
101
|
simplecov-html (0.12.3)
|
102
|
+
simplecov_json_formatter (0.1.2)
|
94
103
|
sshkey (2.0.0)
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
zeitwerk (2.4.1)
|
104
|
+
tzinfo (2.0.4)
|
105
|
+
concurrent-ruby (~> 1.0)
|
106
|
+
zeitwerk (2.4.2)
|
99
107
|
|
100
108
|
PLATFORMS
|
101
109
|
ruby
|
110
|
+
x86_64-darwin-19
|
102
111
|
|
103
112
|
DEPENDENCIES
|
104
113
|
activesupport (>= 4)
|
@@ -106,12 +115,13 @@ DEPENDENCIES
|
|
106
115
|
fakefs (~> 0.18)
|
107
116
|
gem-release (~> 2.0)
|
108
117
|
rake (~> 13.0)
|
109
|
-
rake_circle_ci (~> 0.
|
118
|
+
rake_circle_ci (~> 0.9)
|
110
119
|
rake_fly!
|
111
|
-
rake_github (~> 0.
|
112
|
-
|
120
|
+
rake_github (~> 0.5)
|
121
|
+
rake_gpg (~> 0.12)
|
122
|
+
rake_ssh (~> 0.4)
|
113
123
|
rspec (~> 3.9)
|
114
124
|
simplecov (~> 0.16)
|
115
125
|
|
116
126
|
BUNDLED WITH
|
117
|
-
2.
|
127
|
+
2.2.4
|
data/Rakefile
CHANGED
@@ -2,17 +2,40 @@ require 'yaml'
|
|
2
2
|
require 'rake_circle_ci'
|
3
3
|
require 'rake_github'
|
4
4
|
require 'rake_ssh'
|
5
|
+
require 'rake_gpg'
|
6
|
+
require 'securerandom'
|
5
7
|
require 'rspec/core/rake_task'
|
6
8
|
|
7
9
|
task :default => :spec
|
8
10
|
|
9
11
|
RSpec::Core::RakeTask.new(:spec)
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
)
|
13
|
+
namespace :encryption do
|
14
|
+
namespace :passphrase do
|
15
|
+
task :generate do
|
16
|
+
File.open('config/secrets/ci/encryption.passphrase', 'w') do |f|
|
17
|
+
f.write(SecureRandom.base64(36))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
namespace :keys do
|
24
|
+
namespace :deploy do
|
25
|
+
RakeSSH.define_key_tasks(
|
26
|
+
path: 'config/secrets/ci/',
|
27
|
+
comment: 'maintainers@infrablocks.io')
|
28
|
+
end
|
29
|
+
|
30
|
+
namespace :gpg do
|
31
|
+
RakeGPG.define_generate_key_task(
|
32
|
+
output_directory: 'config/secrets/ci',
|
33
|
+
name_prefix: 'gpg',
|
34
|
+
owner_name: 'InfraBlocks Maintainers',
|
35
|
+
owner_email: 'maintainers@infrablocks.io',
|
36
|
+
owner_comment: 'rake_fly CI Key')
|
37
|
+
end
|
38
|
+
end
|
16
39
|
|
17
40
|
RakeCircleCI.define_project_tasks(
|
18
41
|
namespace: :circle_ci,
|
@@ -27,6 +50,7 @@ RakeCircleCI.define_project_tasks(
|
|
27
50
|
File.read('config/secrets/ci/encryption.passphrase')
|
28
51
|
.chomp
|
29
52
|
}
|
53
|
+
t.checkout_keys = []
|
30
54
|
t.ssh_keys = [
|
31
55
|
{
|
32
56
|
hostname: "github.com",
|
@@ -53,7 +77,9 @@ end
|
|
53
77
|
|
54
78
|
namespace :pipeline do
|
55
79
|
task :prepare => [
|
80
|
+
:'circle_ci:project:follow',
|
56
81
|
:'circle_ci:env_vars:ensure',
|
82
|
+
:'circle_ci:checkout_keys:ensure',
|
57
83
|
:'circle_ci:ssh_keys:ensure',
|
58
84
|
:'github:deploy_keys:ensure'
|
59
85
|
]
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'rake_factory'
|
2
2
|
|
3
|
-
require_relative '../tasks/
|
4
|
-
require_relative '../tasks/
|
5
|
-
require_relative '../tasks/
|
3
|
+
require_relative '../tasks/pipeline/get'
|
4
|
+
require_relative '../tasks/pipeline/set'
|
5
|
+
require_relative '../tasks/pipeline/unpause'
|
6
|
+
require_relative '../tasks/pipeline/push'
|
6
7
|
|
7
8
|
module RakeFly
|
8
9
|
module TaskSets
|
@@ -10,6 +11,7 @@ module RakeFly
|
|
10
11
|
parameter :argument_names, default: []
|
11
12
|
|
12
13
|
parameter :target, :required => true
|
14
|
+
parameter :team
|
13
15
|
parameter :pipeline, :required => true
|
14
16
|
parameter :config, :required => true
|
15
17
|
|
@@ -17,26 +19,26 @@ module RakeFly
|
|
17
19
|
parameter :var_files
|
18
20
|
parameter :non_interactive
|
19
21
|
|
20
|
-
parameter :
|
21
|
-
parameter :
|
22
|
-
parameter :
|
23
|
-
parameter :
|
22
|
+
parameter :get_task_name, :default => :get
|
23
|
+
parameter :set_task_name, :default => :set
|
24
|
+
parameter :unpause_task_name, :default => :unpause
|
25
|
+
parameter :push_task_name, :default => :push
|
24
26
|
|
25
|
-
task Tasks::
|
27
|
+
task Tasks::Pipeline::Get,
|
26
28
|
name: RakeFactory::DynamicValue.new { |ts|
|
27
|
-
ts.
|
29
|
+
ts.get_task_name
|
28
30
|
}
|
29
|
-
task Tasks::
|
31
|
+
task Tasks::Pipeline::Set,
|
30
32
|
name: RakeFactory::DynamicValue.new { |ts|
|
31
|
-
ts.
|
33
|
+
ts.set_task_name
|
32
34
|
}
|
33
|
-
task Tasks::
|
35
|
+
task Tasks::Pipeline::Unpause,
|
34
36
|
name: RakeFactory::DynamicValue.new { |ts|
|
35
|
-
ts.
|
37
|
+
ts.unpause_task_name
|
36
38
|
}
|
37
|
-
task Tasks::
|
39
|
+
task Tasks::Pipeline::Push,
|
38
40
|
name: RakeFactory::DynamicValue.new { |ts|
|
39
|
-
ts.
|
41
|
+
ts.push_task_name
|
40
42
|
}
|
41
43
|
end
|
42
44
|
end
|
data/lib/rake_fly/tasks.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require_relative 'tasks/
|
2
|
-
require_relative 'tasks/
|
3
|
-
require_relative 'tasks/
|
4
|
-
require_relative 'tasks/
|
1
|
+
require_relative 'tasks/pipeline/get'
|
2
|
+
require_relative 'tasks/pipeline/set'
|
3
|
+
require_relative 'tasks/pipeline/unpause'
|
4
|
+
require_relative 'tasks/pipeline/push'
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'ruby_fly'
|
2
|
+
require 'rake_factory'
|
3
|
+
|
4
|
+
module RakeFly
|
5
|
+
module Tasks
|
6
|
+
module Pipeline
|
7
|
+
class Get < RakeFactory::Task
|
8
|
+
default_name :get
|
9
|
+
default_prerequisites RakeFactory::DynamicValue.new { |t|
|
10
|
+
[t.ensure_task_name]
|
11
|
+
}
|
12
|
+
default_description RakeFactory::DynamicValue.new { |t|
|
13
|
+
pipeline = t.pipeline || '<derived>'
|
14
|
+
target = t.target || '<derived>'
|
15
|
+
|
16
|
+
"Get pipeline #{pipeline} for target #{target}"
|
17
|
+
}
|
18
|
+
|
19
|
+
parameter :target, :required => true
|
20
|
+
parameter :pipeline, :required => true
|
21
|
+
|
22
|
+
parameter :ensure_task_name, :default => :'fly:ensure'
|
23
|
+
|
24
|
+
action do |t|
|
25
|
+
puts "Getting pipeline #{t.pipeline} for target #{t.target}..."
|
26
|
+
RubyFly.get_pipeline(
|
27
|
+
target: t.target,
|
28
|
+
pipeline: t.pipeline)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'ruby_fly'
|
2
|
+
require 'rake_factory'
|
3
|
+
|
4
|
+
module RakeFly
|
5
|
+
module Tasks
|
6
|
+
module Pipeline
|
7
|
+
class Push < RakeFactory::Task
|
8
|
+
default_name :push
|
9
|
+
default_description RakeFactory::DynamicValue.new { |t|
|
10
|
+
pipeline = t.pipeline || '<derived>'
|
11
|
+
target = t.target || '<derived>'
|
12
|
+
|
13
|
+
"Push pipeline #{pipeline} to target #{target}"
|
14
|
+
}
|
15
|
+
|
16
|
+
parameter :target, :required => true
|
17
|
+
parameter :pipeline, :required => true
|
18
|
+
|
19
|
+
parameter :get_task_name, :default => :get
|
20
|
+
parameter :set_task_name, :default => :set
|
21
|
+
parameter :unpause_task_name, :default => :unpause
|
22
|
+
|
23
|
+
action do |t, args|
|
24
|
+
[
|
25
|
+
t.application[t.set_task_name, t.scope],
|
26
|
+
t.application[t.get_task_name, t.scope],
|
27
|
+
t.application[t.unpause_task_name, t.scope]
|
28
|
+
].each do |task|
|
29
|
+
task.invoke(*args)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'ruby_fly'
|
2
|
+
require 'rake_factory'
|
3
|
+
|
4
|
+
module RakeFly
|
5
|
+
module Tasks
|
6
|
+
module Pipeline
|
7
|
+
class Set < RakeFactory::Task
|
8
|
+
default_name :set
|
9
|
+
default_prerequisites RakeFactory::DynamicValue.new { |t|
|
10
|
+
[t.ensure_task_name]
|
11
|
+
}
|
12
|
+
default_description RakeFactory::DynamicValue.new { |t|
|
13
|
+
pipeline = t.pipeline || '<derived>'
|
14
|
+
target = t.target || '<derived>'
|
15
|
+
|
16
|
+
"Set pipeline #{pipeline} for target #{target}"
|
17
|
+
}
|
18
|
+
|
19
|
+
parameter :target, :required => true
|
20
|
+
parameter :team
|
21
|
+
parameter :pipeline, :required => true
|
22
|
+
parameter :config, :required => true
|
23
|
+
|
24
|
+
parameter :vars
|
25
|
+
parameter :var_files
|
26
|
+
parameter :non_interactive
|
27
|
+
|
28
|
+
parameter :ensure_task_name, :default => :'fly:ensure'
|
29
|
+
|
30
|
+
action do |t|
|
31
|
+
puts "Setting pipeline #{t.pipeline} for target #{t.target}..."
|
32
|
+
RubyFly.set_pipeline(
|
33
|
+
target: t.target,
|
34
|
+
team: t.team,
|
35
|
+
pipeline: t.pipeline,
|
36
|
+
config: t.config,
|
37
|
+
vars: t.vars,
|
38
|
+
var_files: t.var_files,
|
39
|
+
non_interactive: t.non_interactive)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'ruby_fly'
|
2
|
+
require 'rake_factory'
|
3
|
+
|
4
|
+
module RakeFly
|
5
|
+
module Tasks
|
6
|
+
module Pipeline
|
7
|
+
class Unpause < RakeFactory::Task
|
8
|
+
default_name :unpause
|
9
|
+
default_prerequisites RakeFactory::DynamicValue.new { |t|
|
10
|
+
[t.ensure_task_name]
|
11
|
+
}
|
12
|
+
default_description RakeFactory::DynamicValue.new { |t|
|
13
|
+
pipeline = t.pipeline || '<derived>'
|
14
|
+
target = t.target || '<derived>'
|
15
|
+
|
16
|
+
"Unpause pipeline #{pipeline} for target #{target}"
|
17
|
+
}
|
18
|
+
|
19
|
+
parameter :target, :required => true
|
20
|
+
parameter :team
|
21
|
+
parameter :pipeline, :required => true
|
22
|
+
|
23
|
+
parameter :ensure_task_name, :default => :'fly:ensure'
|
24
|
+
|
25
|
+
action do |t|
|
26
|
+
puts "Unpausing pipeline #{t.pipeline} for target #{t.target}..."
|
27
|
+
RubyFly.unpause_pipeline(
|
28
|
+
target: t.target,
|
29
|
+
team: t.team,
|
30
|
+
pipeline: t.pipeline)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|