rake_circle_ci 0.10.0.pre.4 → 0.10.0.pre.7
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/Gemfile +2 -0
- data/Gemfile.lock +30 -3
- data/Rakefile +67 -45
- data/bin/console +4 -3
- data/lib/rake_circle_ci/client.rb +91 -77
- data/lib/rake_circle_ci/task_sets/checkout_keys.rb +11 -9
- data/lib/rake_circle_ci/task_sets/environment_variables.rb +11 -9
- data/lib/rake_circle_ci/task_sets/project.rb +64 -63
- data/lib/rake_circle_ci/task_sets/ssh_keys.rb +11 -9
- data/lib/rake_circle_ci/task_sets.rb +2 -0
- data/lib/rake_circle_ci/tasks/checkout_keys/destroy.rb +11 -8
- data/lib/rake_circle_ci/tasks/checkout_keys/ensure.rb +6 -4
- data/lib/rake_circle_ci/tasks/checkout_keys/provision.rb +11 -8
- data/lib/rake_circle_ci/tasks/checkout_keys.rb +2 -0
- data/lib/rake_circle_ci/tasks/environment_variables/destroy.rb +11 -8
- data/lib/rake_circle_ci/tasks/environment_variables/ensure.rb +6 -4
- data/lib/rake_circle_ci/tasks/environment_variables/provision.rb +11 -8
- data/lib/rake_circle_ci/tasks/environment_variables.rb +2 -0
- data/lib/rake_circle_ci/tasks/projects/follow.rb +9 -6
- data/lib/rake_circle_ci/tasks/projects.rb +2 -0
- data/lib/rake_circle_ci/tasks/ssh_keys/destroy.rb +11 -8
- data/lib/rake_circle_ci/tasks/ssh_keys/ensure.rb +6 -4
- data/lib/rake_circle_ci/tasks/ssh_keys/provision.rb +13 -10
- data/lib/rake_circle_ci/tasks/ssh_keys.rb +2 -0
- data/lib/rake_circle_ci/tasks.rb +2 -0
- data/lib/rake_circle_ci/version.rb +3 -1
- data/lib/rake_circle_ci.rb +2 -0
- data/rake_circle_ci.gemspec +58 -0
- metadata +61 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 799f94557915913f8f49a505d1f36fc022f291bee34ea54982486c4d2ed0c251
|
4
|
+
data.tar.gz: eb1d7ade7b37375721bb70b80e7d148fb99a00886f213da1015d26f7a9e40a2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92fcd413f5fc3a5bef72f7a985bf3bc7b97b3180e5061e139c839e0a7411e965b975ed08bb8d75b2f05045461a98b3e4ba2847f07003af0064f8c3653097b848
|
7
|
+
data.tar.gz: 0ebd133933c2d83139277317ae9c5810d2f3eb0f0ea98aefb18075543829266b1ca3539ee9b2caf14f2e698dea0c5d4d6b04ec2202e88d943460f76a0cbeaef1
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rake_circle_ci (0.10.0.pre.
|
4
|
+
rake_circle_ci (0.10.0.pre.7)
|
5
5
|
colored2 (~> 3.1)
|
6
6
|
excon (~> 0.72)
|
7
7
|
rake_factory (~> 0.23)
|
@@ -17,11 +17,12 @@ GEM
|
|
17
17
|
tzinfo (~> 2.0)
|
18
18
|
addressable (2.8.0)
|
19
19
|
public_suffix (>= 2.0.2, < 5.0)
|
20
|
+
ast (2.4.2)
|
20
21
|
colored2 (3.1.2)
|
21
22
|
concurrent-ruby (1.1.9)
|
22
23
|
diff-lcs (1.5.0)
|
23
24
|
docile (1.4.0)
|
24
|
-
excon (0.92.
|
25
|
+
excon (0.92.2)
|
25
26
|
faraday (1.10.0)
|
26
27
|
faraday-em_http (~> 1.0)
|
27
28
|
faraday-em_synchrony (~> 1.0)
|
@@ -60,7 +61,11 @@ GEM
|
|
60
61
|
faraday (>= 0.9)
|
61
62
|
sawyer (~> 0.8.0, >= 0.5.3)
|
62
63
|
open4 (1.3.4)
|
64
|
+
parallel (1.21.0)
|
65
|
+
parser (3.1.1.0)
|
66
|
+
ast (~> 2.4.1)
|
63
67
|
public_suffix (4.0.6)
|
68
|
+
rainbow (3.1.1)
|
64
69
|
rake (13.0.6)
|
65
70
|
rake_factory (0.29.0)
|
66
71
|
activesupport (>= 4)
|
@@ -77,6 +82,8 @@ GEM
|
|
77
82
|
colored2 (~> 3.1)
|
78
83
|
rake_factory (~> 0.23)
|
79
84
|
sshkey (~> 2.0)
|
85
|
+
regexp_parser (2.2.1)
|
86
|
+
rexml (3.2.5)
|
80
87
|
rspec (3.11.0)
|
81
88
|
rspec-core (~> 3.11.0)
|
82
89
|
rspec-expectations (~> 3.11.0)
|
@@ -90,6 +97,22 @@ GEM
|
|
90
97
|
diff-lcs (>= 1.2.0, < 2.0)
|
91
98
|
rspec-support (~> 3.11.0)
|
92
99
|
rspec-support (3.11.0)
|
100
|
+
rubocop (1.26.0)
|
101
|
+
parallel (~> 1.10)
|
102
|
+
parser (>= 3.1.0.0)
|
103
|
+
rainbow (>= 2.2.2, < 4.0)
|
104
|
+
regexp_parser (>= 1.8, < 3.0)
|
105
|
+
rexml
|
106
|
+
rubocop-ast (>= 1.16.0, < 2.0)
|
107
|
+
ruby-progressbar (~> 1.7)
|
108
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
109
|
+
rubocop-ast (1.16.0)
|
110
|
+
parser (>= 3.1.1.0)
|
111
|
+
rubocop-rake (0.6.0)
|
112
|
+
rubocop (~> 1.0)
|
113
|
+
rubocop-rspec (2.9.0)
|
114
|
+
rubocop (~> 1.19)
|
115
|
+
ruby-progressbar (1.11.0)
|
93
116
|
ruby2_keywords (0.0.5)
|
94
117
|
ruby_gpg2 (0.8.0)
|
95
118
|
lino (>= 1.5)
|
@@ -105,6 +128,7 @@ GEM
|
|
105
128
|
sshkey (2.0.0)
|
106
129
|
tzinfo (2.0.4)
|
107
130
|
concurrent-ruby (~> 1.0)
|
131
|
+
unicode-display_width (2.1.0)
|
108
132
|
|
109
133
|
PLATFORMS
|
110
134
|
ruby
|
@@ -120,7 +144,10 @@ DEPENDENCIES
|
|
120
144
|
rake_gpg
|
121
145
|
rake_ssh
|
122
146
|
rspec
|
147
|
+
rubocop
|
148
|
+
rubocop-rake
|
149
|
+
rubocop-rspec
|
123
150
|
simplecov
|
124
151
|
|
125
152
|
BUNDLED WITH
|
126
|
-
2.3.
|
153
|
+
2.3.10
|
data/Rakefile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'yaml'
|
2
4
|
require 'rake_circle_ci'
|
3
5
|
require 'rake_github'
|
@@ -5,17 +7,20 @@ require 'rake_ssh'
|
|
5
7
|
require 'rake_gpg'
|
6
8
|
require 'securerandom'
|
7
9
|
require 'rspec/core/rake_task'
|
10
|
+
require 'rubocop/rake_task'
|
8
11
|
|
9
|
-
task :
|
10
|
-
|
11
|
-
|
12
|
+
task default: %i[
|
13
|
+
library:fix
|
14
|
+
test:unit
|
15
|
+
]
|
12
16
|
|
13
17
|
namespace :encryption do
|
14
18
|
namespace :passphrase do
|
19
|
+
desc 'Generate encryption passphrase for CI GPG key'
|
15
20
|
task :generate do
|
16
|
-
|
17
|
-
|
18
|
-
|
21
|
+
FileUtils.mkdir_p('config/secrets/ci/')
|
22
|
+
File.write('config/secrets/ci/encryption.passphrase',
|
23
|
+
SecureRandom.base64(36))
|
19
24
|
end
|
20
25
|
end
|
21
26
|
end
|
@@ -23,85 +28,102 @@ end
|
|
23
28
|
namespace :keys do
|
24
29
|
namespace :deploy do
|
25
30
|
RakeSSH.define_key_tasks(
|
26
|
-
|
27
|
-
|
31
|
+
path: 'config/secrets/ci/',
|
32
|
+
comment: 'maintainers@infrablocks.io'
|
33
|
+
)
|
28
34
|
end
|
29
35
|
|
30
36
|
namespace :gpg do
|
31
37
|
RakeGPG.define_generate_key_task(
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
38
|
+
output_directory: 'config/secrets/ci',
|
39
|
+
name_prefix: 'gpg',
|
40
|
+
owner_name: 'InfraBlocks Maintainers',
|
41
|
+
owner_email: 'maintainers@infrablocks.io',
|
42
|
+
owner_comment: 'rake_circle_ci CI Key'
|
43
|
+
)
|
37
44
|
end
|
38
45
|
end
|
39
46
|
|
47
|
+
RuboCop::RakeTask.new
|
48
|
+
|
49
|
+
namespace :library do
|
50
|
+
desc 'Run all checks of the library'
|
51
|
+
task check: [:rubocop]
|
52
|
+
|
53
|
+
desc 'Attempt to automatically fix issues with the library'
|
54
|
+
task fix: [:'rubocop:auto_correct']
|
55
|
+
end
|
56
|
+
|
57
|
+
namespace :test do
|
58
|
+
RSpec::Core::RakeTask.new(:unit)
|
59
|
+
end
|
60
|
+
|
40
61
|
RakeCircleCI.define_project_tasks(
|
41
|
-
|
42
|
-
|
62
|
+
namespace: :circle_ci,
|
63
|
+
project_slug: 'github/infrablocks/rake_circle_ci'
|
43
64
|
) do |t|
|
44
65
|
circle_ci_config =
|
45
|
-
|
66
|
+
YAML.load_file('config/secrets/circle_ci/config.yaml')
|
46
67
|
|
47
|
-
t.api_token = circle_ci_config[
|
68
|
+
t.api_token = circle_ci_config['circle_ci_api_token']
|
48
69
|
t.environment_variables = {
|
49
|
-
|
50
|
-
|
51
|
-
|
70
|
+
ENCRYPTION_PASSPHRASE:
|
71
|
+
File.read('config/secrets/ci/encryption.passphrase')
|
72
|
+
.chomp
|
52
73
|
}
|
53
74
|
t.checkout_keys = []
|
54
75
|
t.ssh_keys = [
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
76
|
+
{
|
77
|
+
hostname: 'github.com',
|
78
|
+
private_key: File.read('config/secrets/ci/ssh.private')
|
79
|
+
}
|
59
80
|
]
|
60
81
|
end
|
61
82
|
|
62
83
|
RakeGithub.define_repository_tasks(
|
63
|
-
|
64
|
-
|
84
|
+
namespace: :github,
|
85
|
+
repository: 'infrablocks/rake_circle_ci'
|
65
86
|
) do |t, args|
|
66
87
|
github_config =
|
67
|
-
|
88
|
+
YAML.load_file('config/secrets/github/config.yaml')
|
68
89
|
|
69
|
-
t.access_token = github_config[
|
90
|
+
t.access_token = github_config['github_personal_access_token']
|
70
91
|
t.deploy_keys = [
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
92
|
+
{
|
93
|
+
title: 'CircleCI',
|
94
|
+
ssh_key: File.read('config/secrets/ci/ssh.public')
|
95
|
+
}
|
75
96
|
]
|
76
97
|
t.branch_name = args.branch_name
|
77
98
|
t.commit_message = args.commit_message
|
78
99
|
end
|
79
100
|
|
80
101
|
namespace :pipeline do
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
102
|
+
desc 'Prepare CircleCI Pipeline'
|
103
|
+
task prepare: %i[
|
104
|
+
circle_ci:project:follow
|
105
|
+
circle_ci:env_vars:ensure
|
106
|
+
circle_ci:checkout_keys:ensure
|
107
|
+
circle_ci:ssh_keys:ensure
|
108
|
+
github:deploy_keys:ensure
|
87
109
|
]
|
88
110
|
end
|
89
111
|
|
90
112
|
namespace :version do
|
91
|
-
desc
|
113
|
+
desc 'Bump version for specified type (pre, major, minor, patch)'
|
92
114
|
task :bump, [:type] do |_, args|
|
93
115
|
bump_version_for(args.type)
|
94
116
|
end
|
95
117
|
end
|
96
118
|
|
97
|
-
desc
|
119
|
+
desc 'Release gem'
|
98
120
|
task :release do
|
99
|
-
sh
|
121
|
+
sh 'gem release --tag --push'
|
100
122
|
end
|
101
123
|
|
102
124
|
def bump_version_for(version_type)
|
103
|
-
sh "gem bump --version #{version_type} "
|
104
|
-
|
105
|
-
|
106
|
-
|
125
|
+
sh "gem bump --version #{version_type} " \
|
126
|
+
'&& bundle install ' \
|
127
|
+
'&& export LAST_MESSAGE="$(git log -1 --pretty=%B)" ' \
|
128
|
+
'&& git commit -a --amend -m "${LAST_MESSAGE} [ci skip]"'
|
107
129
|
end
|
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'rake_circle_ci'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "rake_circle_ci"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start(__FILE__)
|
@@ -1,35 +1,100 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'json'
|
2
4
|
require 'excon'
|
3
5
|
require 'sshkey'
|
4
6
|
|
5
7
|
module RakeCircleCI
|
6
|
-
class
|
8
|
+
class URLs
|
7
9
|
def initialize(opts)
|
8
10
|
@base_url = opts[:base_url]
|
9
11
|
@api_token = opts[:api_token]
|
10
12
|
@project_slug = opts[:project_slug]
|
11
13
|
end
|
12
14
|
|
15
|
+
def follow_url
|
16
|
+
"#{@base_url}/v1.1/project/#{@project_slug}/follow?" \
|
17
|
+
"circle-token=#{@api_token}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def env_vars_url
|
21
|
+
"#{@base_url}/v2/project/#{@project_slug}/envvar"
|
22
|
+
end
|
23
|
+
|
24
|
+
def env_var_url(name)
|
25
|
+
"#{@base_url}/v2/project/#{@project_slug}/envvar/#{name}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def settings_url
|
29
|
+
"#{@base_url}/v1.1/project/#{@project_slug}/settings?" \
|
30
|
+
"circle-token=#{@api_token}"
|
31
|
+
end
|
32
|
+
|
33
|
+
def ssh_keys_url
|
34
|
+
"#{@base_url}/v1.1/project/#{@project_slug}/ssh-key?" \
|
35
|
+
"circle-token=#{@api_token}"
|
36
|
+
end
|
37
|
+
|
38
|
+
def checkout_keys_url
|
39
|
+
"#{@base_url}/v1.1/project/#{@project_slug}/checkout-key"
|
40
|
+
end
|
41
|
+
|
42
|
+
def checkout_key_url(fingerprint)
|
43
|
+
"#{@base_url}/v1.1/project/#{@project_slug}/checkout-key/#{fingerprint}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
class HTTPClient
|
48
|
+
def get(url, opts)
|
49
|
+
assert_successful(Excon.get(url, opts))
|
50
|
+
end
|
51
|
+
|
52
|
+
def post(url, opts)
|
53
|
+
assert_successful(Excon.post(url, opts))
|
54
|
+
end
|
55
|
+
|
56
|
+
def delete(url, opts)
|
57
|
+
assert_successful(Excon.delete(url, opts))
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
def assert_successful(response)
|
63
|
+
unless response.status >= 200 && response.status < 300
|
64
|
+
host = response.data[:host]
|
65
|
+
path = response.data[:path]
|
66
|
+
status = response.status
|
67
|
+
reason = response.data[:reason_phrase]
|
68
|
+
raise "Unsuccessful request: #{host}#{path} #{status} #{reason}"
|
69
|
+
end
|
70
|
+
response
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
class Client
|
75
|
+
def initialize(opts)
|
76
|
+
@urls = URLs.new(opts)
|
77
|
+
@api_token = opts[:api_token]
|
78
|
+
@http = HTTPClient.new
|
79
|
+
end
|
80
|
+
|
13
81
|
def follow_project
|
14
|
-
|
82
|
+
@http.post(@urls.follow_url, headers: headers)
|
15
83
|
end
|
16
84
|
|
17
85
|
def find_env_vars
|
18
|
-
response =
|
86
|
+
response = @http.get(@urls.env_vars_url, headers: headers)
|
19
87
|
body = JSON.parse(response.body)
|
20
|
-
|
21
|
-
|
22
|
-
env_vars
|
88
|
+
body['items'].map { |item| item['name'] }
|
23
89
|
end
|
24
90
|
|
25
91
|
def create_env_var(name, value)
|
26
92
|
body = JSON.dump(name: name, value: value)
|
27
|
-
|
28
|
-
Excon.post(env_vars_url, body: body, headers: headers))
|
93
|
+
@http.post(@urls.env_vars_url, body: body, headers: headers)
|
29
94
|
end
|
30
95
|
|
31
96
|
def delete_env_var(name)
|
32
|
-
|
97
|
+
@http.delete(@urls.env_var_url(name), headers: headers)
|
33
98
|
end
|
34
99
|
|
35
100
|
def delete_env_vars
|
@@ -40,32 +105,28 @@ module RakeCircleCI
|
|
40
105
|
end
|
41
106
|
|
42
107
|
def find_ssh_keys
|
43
|
-
response =
|
108
|
+
response = @http.get(@urls.settings_url, headers: headers)
|
44
109
|
body = JSON.parse(response.body, symbolize_names: true)
|
45
|
-
|
46
|
-
|
47
|
-
ssh_keys
|
110
|
+
body[:ssh_keys]
|
48
111
|
end
|
49
112
|
|
50
113
|
def create_ssh_key(private_key, opts = {})
|
51
114
|
body = {
|
52
|
-
|
53
|
-
|
115
|
+
fingerprint: SSHKey.new(private_key).sha1_fingerprint,
|
116
|
+
private_key: private_key
|
54
117
|
}
|
55
118
|
body = body.merge(hostname: opts[:hostname]) if opts[:hostname]
|
56
119
|
body = JSON.dump(body)
|
57
|
-
|
58
|
-
Excon.post(ssh_keys_url, body: body, headers: headers))
|
120
|
+
@http.post(@urls.ssh_keys_url, body: body, headers: headers)
|
59
121
|
end
|
60
122
|
|
61
123
|
def delete_ssh_key(fingerprint, opts = {})
|
62
124
|
body = {
|
63
|
-
|
125
|
+
fingerprint: fingerprint
|
64
126
|
}
|
65
127
|
body = body.merge(hostname: opts[:hostname]) if opts[:hostname]
|
66
128
|
body = JSON.dump(body)
|
67
|
-
|
68
|
-
Excon.delete(ssh_keys_url, body: body, headers: headers))
|
129
|
+
@http.delete(@urls.ssh_keys_url, body: body, headers: headers)
|
69
130
|
end
|
70
131
|
|
71
132
|
def delete_ssh_keys
|
@@ -73,33 +134,28 @@ module RakeCircleCI
|
|
73
134
|
ssh_keys.each do |ssh_key|
|
74
135
|
fingerprint = ssh_key[:fingerprint]
|
75
136
|
hostname = ssh_key[:hostname]
|
76
|
-
options = hostname && {hostname: hostname}
|
137
|
+
options = hostname && { hostname: hostname }
|
77
138
|
args = [fingerprint, options].compact
|
78
139
|
delete_ssh_key(*args)
|
79
140
|
end
|
80
141
|
end
|
81
142
|
|
82
143
|
def find_checkout_keys
|
83
|
-
response =
|
84
|
-
|
85
|
-
checkout_keys = JSON.parse(response.body, symbolize_names: true)
|
86
|
-
|
87
|
-
checkout_keys
|
144
|
+
response = @http.get(@urls.checkout_keys_url, headers: headers)
|
145
|
+
JSON.parse(response.body, symbolize_names: true)
|
88
146
|
end
|
89
147
|
|
90
148
|
def create_checkout_key(type)
|
91
149
|
type_strings = {
|
92
|
-
|
93
|
-
|
150
|
+
deploy_key: 'deploy-key',
|
151
|
+
github_user_key: 'github-user-key'
|
94
152
|
}
|
95
153
|
body = JSON.dump(type: type_strings[type.to_sym] || type.to_s)
|
96
|
-
|
97
|
-
Excon.post(checkout_keys_url, body: body, headers: headers))
|
154
|
+
@http.post(@urls.checkout_keys_url, body: body, headers: headers)
|
98
155
|
end
|
99
156
|
|
100
157
|
def delete_checkout_key(fingerprint)
|
101
|
-
|
102
|
-
Excon.delete(checkout_key_url(fingerprint), headers: headers))
|
158
|
+
@http.delete(@urls.checkout_key_url(fingerprint), headers: headers)
|
103
159
|
end
|
104
160
|
|
105
161
|
def delete_checkout_keys
|
@@ -113,52 +169,10 @@ module RakeCircleCI
|
|
113
169
|
|
114
170
|
def headers
|
115
171
|
{
|
116
|
-
|
117
|
-
|
118
|
-
|
172
|
+
'Circle-Token': @api_token,
|
173
|
+
'Content-Type': 'application/json',
|
174
|
+
Accept: 'application/json'
|
119
175
|
}
|
120
176
|
end
|
121
|
-
|
122
|
-
def assert_successful(response)
|
123
|
-
unless response.status >= 200 && response.status < 300
|
124
|
-
host = response.data[:host]
|
125
|
-
path = response.data[:path]
|
126
|
-
status = response.status
|
127
|
-
reason = response.data[:reason_phrase]
|
128
|
-
raise "Unsuccessful request: #{host}#{path} #{status} #{reason}"
|
129
|
-
end
|
130
|
-
response
|
131
|
-
end
|
132
|
-
|
133
|
-
def follow_url
|
134
|
-
"#{@base_url}/v1.1/project/#{@project_slug}/follow?" +
|
135
|
-
"circle-token=#{@api_token}"
|
136
|
-
end
|
137
|
-
|
138
|
-
def env_vars_url
|
139
|
-
"#{@base_url}/v2/project/#{@project_slug}/envvar"
|
140
|
-
end
|
141
|
-
|
142
|
-
def env_var_url(name)
|
143
|
-
"#{@base_url}/v2/project/#{@project_slug}/envvar/#{name}"
|
144
|
-
end
|
145
|
-
|
146
|
-
def settings_url
|
147
|
-
"#{@base_url}/v1.1/project/#{@project_slug}/settings?" +
|
148
|
-
"circle-token=#{@api_token}"
|
149
|
-
end
|
150
|
-
|
151
|
-
def ssh_keys_url
|
152
|
-
"#{@base_url}/v1.1/project/#{@project_slug}/ssh-key?" +
|
153
|
-
"circle-token=#{@api_token}"
|
154
|
-
end
|
155
|
-
|
156
|
-
def checkout_keys_url
|
157
|
-
"#{@base_url}/v1.1/project/#{@project_slug}/checkout-key"
|
158
|
-
end
|
159
|
-
|
160
|
-
def checkout_key_url(fingerprint)
|
161
|
-
"#{@base_url}/v1.1/project/#{@project_slug}/checkout-key/#{fingerprint}"
|
162
|
-
end
|
163
177
|
end
|
164
178
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rake_factory'
|
2
4
|
|
3
5
|
require_relative '../tasks'
|
@@ -17,17 +19,17 @@ module RakeCircleCI
|
|
17
19
|
parameter :ensure_task_name, default: :ensure
|
18
20
|
|
19
21
|
task Tasks::CheckoutKeys::Provision,
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
name: RakeFactory::DynamicValue.new { |ts|
|
23
|
+
ts.provision_task_name
|
24
|
+
}
|
23
25
|
task Tasks::CheckoutKeys::Destroy,
|
24
|
-
|
25
|
-
|
26
|
-
|
26
|
+
name: RakeFactory::DynamicValue.new { |ts|
|
27
|
+
ts.destroy_task_name
|
28
|
+
}
|
27
29
|
task Tasks::CheckoutKeys::Ensure,
|
28
|
-
|
29
|
-
|
30
|
-
|
30
|
+
name: RakeFactory::DynamicValue.new { |ts|
|
31
|
+
ts.ensure_task_name
|
32
|
+
}
|
31
33
|
end
|
32
34
|
end
|
33
35
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rake_factory'
|
2
4
|
|
3
5
|
require_relative '../tasks'
|
@@ -17,17 +19,17 @@ module RakeCircleCI
|
|
17
19
|
parameter :ensure_task_name, default: :ensure
|
18
20
|
|
19
21
|
task Tasks::EnvironmentVariables::Provision,
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
name: RakeFactory::DynamicValue.new { |ts|
|
23
|
+
ts.provision_task_name
|
24
|
+
}
|
23
25
|
task Tasks::EnvironmentVariables::Destroy,
|
24
|
-
|
25
|
-
|
26
|
-
|
26
|
+
name: RakeFactory::DynamicValue.new { |ts|
|
27
|
+
ts.destroy_task_name
|
28
|
+
}
|
27
29
|
task Tasks::EnvironmentVariables::Ensure,
|
28
|
-
|
29
|
-
|
30
|
-
|
30
|
+
name: RakeFactory::DynamicValue.new { |ts|
|
31
|
+
ts.ensure_task_name
|
32
|
+
}
|
31
33
|
end
|
32
34
|
end
|
33
35
|
end
|