rake_github 0.2.0.pre.7 → 0.6.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: fbd266032759ede378725418625961901693bae80cb1b500edb238529fed26dd
4
- data.tar.gz: 64b1d98742748556180c5b8bcfe6619f6c22f609b7be1b86206813a6facd8021
3
+ metadata.gz: 79665ca28f0569dbd5edf2e843184eb5a82551267687504f36782bfbeed528ae
4
+ data.tar.gz: 7d20ecbb244a10fa9706c96678b833e8a0bc533f772b4ebd82e963e09374a5b5
5
5
  SHA512:
6
- metadata.gz: bf65aecbd3001768c38156a3cf0ceccfa152fef818fc670695c5cc90a077b2bb2e0cd44907cd71eef627faebc0d780a00911f1064b4deec06f5f49ee94448214
7
- data.tar.gz: 2324fb85ed1ed9446cfa382bb80a49813590a834c9910cc413bdbc09c7d1e74bf3d4077d8f4cb754e48df32f714c55d1c5a84131e11114d7d919741e70216490
6
+ metadata.gz: 4693fb3c285f6ef274012738a6ff2d2cb1e070d0850fd665e7c51cff6ac3eb85a49242414e0c525e38d4b0158f239cdc6cde00ca171c05dc8e3c7a98a01967d1
7
+ data.tar.gz: 9117c6694b8b0f5af0321df2e960fe16f273b0506651abe257b805d39eb551e7eecab35feb52e0bcc8619d32eece36ee2677f98d31ece4b0a2f264e191c2dbb9
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_github (0.2.0.pre.7)
4
+ rake_github (0.6.0.pre.1)
5
5
  colored2 (~> 3.1)
6
6
  octokit (~> 4.16)
7
7
  rake_factory (~> 0.23)
@@ -10,7 +10,7 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (5.2.4.1)
13
+ activesupport (5.2.4.3)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
15
  i18n (>= 0.7, < 2)
16
16
  minitest (~> 5.1)
@@ -21,35 +21,45 @@ GEM
21
21
  concurrent-ruby (1.1.6)
22
22
  diff-lcs (1.3)
23
23
  docile (1.3.2)
24
- faraday (1.0.0)
24
+ excon (0.73.0)
25
+ faraday (1.0.1)
25
26
  multipart-post (>= 1.2, < 3)
26
27
  gem-release (2.1.1)
27
28
  i18n (1.8.2)
28
29
  concurrent-ruby (~> 1.0)
29
30
  memfs (1.0.0)
30
- minitest (5.14.0)
31
+ minitest (5.14.1)
31
32
  multipart-post (2.1.1)
32
- octokit (4.16.0)
33
+ octokit (4.18.0)
33
34
  faraday (>= 0.9)
34
35
  sawyer (~> 0.8.0, >= 0.5.3)
35
- public_suffix (4.0.3)
36
+ public_suffix (4.0.5)
36
37
  rake (13.0.1)
37
- rake_factory (0.25.0)
38
+ rake_circle_ci (0.7.0)
39
+ colored2 (~> 3.1)
40
+ excon (~> 0.72)
41
+ rake_factory (~> 0.23)
42
+ sshkey (~> 2.0)
43
+ rake_factory (0.27.0)
38
44
  activesupport (>= 4)
39
45
  rake (~> 13.0)
46
+ rake_ssh (0.4.0)
47
+ colored2 (~> 3.1)
48
+ rake_factory (~> 0.23)
49
+ sshkey (~> 2.0)
40
50
  rspec (3.9.0)
41
51
  rspec-core (~> 3.9.0)
42
52
  rspec-expectations (~> 3.9.0)
43
53
  rspec-mocks (~> 3.9.0)
44
- rspec-core (3.9.1)
45
- rspec-support (~> 3.9.1)
46
- rspec-expectations (3.9.0)
54
+ rspec-core (3.9.2)
55
+ rspec-support (~> 3.9.3)
56
+ rspec-expectations (3.9.2)
47
57
  diff-lcs (>= 1.2.0, < 2.0)
48
58
  rspec-support (~> 3.9.0)
49
59
  rspec-mocks (3.9.1)
50
60
  diff-lcs (>= 1.2.0, < 2.0)
51
61
  rspec-support (~> 3.9.0)
52
- rspec-support (3.9.2)
62
+ rspec-support (3.9.3)
53
63
  sawyer (0.8.2)
54
64
  addressable (>= 2.3.5)
55
65
  faraday (> 0.8, < 2.0)
@@ -59,7 +69,7 @@ GEM
59
69
  simplecov-html (0.12.2)
60
70
  sshkey (2.0.0)
61
71
  thread_safe (0.3.6)
62
- tzinfo (1.2.6)
72
+ tzinfo (1.2.7)
63
73
  thread_safe (~> 0.1)
64
74
 
65
75
  PLATFORMS
@@ -71,7 +81,9 @@ DEPENDENCIES
71
81
  gem-release (~> 2.0)
72
82
  memfs (~> 1.0)
73
83
  rake (~> 13.0)
84
+ rake_circle_ci (~> 0.3)
74
85
  rake_github!
86
+ rake_ssh (~> 0.2)
75
87
  rspec (~> 3.9)
76
88
  simplecov (~> 0.16)
77
89
 
data/Rakefile CHANGED
@@ -1,11 +1,66 @@
1
- require "rspec/core/rake_task"
1
+ require 'yaml'
2
+ require 'rake_circle_ci'
3
+ require 'rake_github'
4
+ require 'rake_ssh'
5
+ require 'rspec/core/rake_task'
6
+
7
+ task :default => :spec
2
8
 
3
9
  RSpec::Core::RakeTask.new(:spec)
4
10
 
5
- task :default => :spec
11
+ RakeSSH.define_key_tasks(
12
+ namespace: :deploy_key,
13
+ path: 'config/secrets/ci/',
14
+ comment: 'maintainers@infrablocks.io'
15
+ )
16
+
17
+ RakeCircleCI.define_project_tasks(
18
+ namespace: :circle_ci,
19
+ project_slug: 'github/infrablocks/rake_github'
20
+ ) do |t|
21
+ circle_ci_config =
22
+ YAML.load_file('config/secrets/circle_ci/config.yaml')
23
+
24
+ t.api_token = circle_ci_config["circle_ci_api_token"]
25
+ t.environment_variables = {
26
+ ENCRYPTION_PASSPHRASE:
27
+ File.read('config/secrets/ci/encryption.passphrase')
28
+ .chomp
29
+ }
30
+ t.ssh_keys = [
31
+ {
32
+ hostname: "github.com",
33
+ private_key: File.read('config/secrets/ci/ssh.private')
34
+ }
35
+ ]
36
+ end
37
+
38
+ RakeGithub.define_repository_tasks(
39
+ namespace: :github,
40
+ repository: 'infrablocks/rake_github',
41
+ ) do |t|
42
+ github_config =
43
+ YAML.load_file('config/secrets/github/config.yaml')
44
+
45
+ t.access_token = github_config["github_personal_access_token"]
46
+ t.deploy_keys = [
47
+ {
48
+ title: 'CircleCI',
49
+ public_key: File.read('config/secrets/ci/ssh.public')
50
+ }
51
+ ]
52
+ end
53
+
54
+ namespace :pipeline do
55
+ task :prepare => [
56
+ :'circle_ci:env_vars:ensure',
57
+ :'circle_ci:ssh_keys:ensure',
58
+ :'github:deploy_keys:ensure'
59
+ ]
60
+ end
6
61
 
7
62
  namespace :version do
8
- desc "Bump version for specified type (pre, major, minor patch)"
63
+ desc "Bump version for specified type (pre, major, minor, patch)"
9
64
  task :bump, [:type] do |_, args|
10
65
  bump_version_for(args.type)
11
66
  end
@@ -0,0 +1,2 @@
1
+ ---
2
+ circle_ci_api_token: "27393e98772c1342785957a776ca4acbaea7f7cb"
@@ -0,0 +1,2 @@
1
+ ---
2
+ github_personal_access_token: "6deebdb15c371069618942f48acd76f35880ebb5"
@@ -6,4 +6,8 @@ module RakeGithub
6
6
  def self.define_deploy_keys_tasks(opts = {}, &block)
7
7
  RakeGithub::TaskSets::DeployKeys.define(opts, &block)
8
8
  end
9
+
10
+ def self.define_repository_tasks(opts = {}, &block)
11
+ RakeGithub::TaskSets::Repository.define(opts, &block)
12
+ end
9
13
  end
@@ -1 +1,2 @@
1
1
  require_relative 'task_sets/deploy_keys'
2
+ require_relative 'task_sets/repository'
@@ -0,0 +1,58 @@
1
+ require 'rake_factory'
2
+
3
+ require_relative '../tasks'
4
+
5
+ module RakeGithub
6
+ module TaskSets
7
+ class Repository < RakeFactory::TaskSet
8
+ prepend RakeFactory::Namespaceable
9
+
10
+ parameter :repository, required: true
11
+ parameter :access_token, required: true
12
+ parameter :deploy_keys, default: []
13
+
14
+ parameter :deploy_keys_namespace, default: :deploy_keys
15
+ parameter :deploy_keys_destroy_task_name, default: :destroy
16
+ parameter :deploy_keys_provision_task_name, default: :provision
17
+ parameter :deploy_keys_ensure_task_name, default: :ensure
18
+
19
+ task Tasks::DeployKeys::Provision,
20
+ name: RakeFactory::DynamicValue.new { |ts|
21
+ ts.deploy_keys_provision_task_name
22
+ }
23
+ task Tasks::DeployKeys::Destroy,
24
+ name: RakeFactory::DynamicValue.new { |ts|
25
+ ts.deploy_keys_destroy_task_name
26
+ }
27
+ task Tasks::DeployKeys::Ensure,
28
+ name: RakeFactory::DynamicValue.new { |ts|
29
+ ts.deploy_keys_ensure_task_name
30
+ },
31
+ provision_task_name: RakeFactory::DynamicValue.new { |ts|
32
+ ts.deploy_keys_provision_task_name
33
+ },
34
+ destroy_task_name: RakeFactory::DynamicValue.new { |ts|
35
+ ts.deploy_keys_destroy_task_name
36
+ }
37
+
38
+ def define_on(application)
39
+ around_define(application) do
40
+ self.class.tasks.each do |task_definition|
41
+ ns = case task_definition.klass.to_s
42
+ when /DeployKeys/
43
+ deploy_keys_namespace
44
+ else
45
+ nil
46
+ end
47
+
48
+ application.in_namespace(ns) do
49
+ task_definition
50
+ .for_task_set(self)
51
+ .define_on(application)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -1,3 +1,3 @@
1
1
  module RakeGithub
2
- VERSION = '0.2.0.pre.7'
2
+ VERSION = '0.6.0.pre.1'
3
3
  end
@@ -30,6 +30,9 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  spec.add_development_dependency 'bundler', '~> 2.0'
32
32
  spec.add_development_dependency 'rake', '~> 13.0'
33
+ spec.add_development_dependency 'rake_circle_ci', '~> 0.3'
34
+ spec.add_development_dependency 'rake_github', '~> 0.3'
35
+ spec.add_development_dependency 'rake_ssh', '~> 0.2'
33
36
  spec.add_development_dependency 'rspec', '~> 3.9'
34
37
  spec.add_development_dependency 'gem-release', '~> 2.0'
35
38
  spec.add_development_dependency 'activesupport', '~> 5.2'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_github
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.pre.7
4
+ version: 0.6.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-13 00:00:00.000000000 Z
11
+ date: 2020-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_factory
@@ -94,6 +94,48 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '13.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rake_circle_ci
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.3'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake_github
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.3'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.3'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rake_ssh
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.2'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.2'
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: rspec
99
141
  requirement: !ruby/object:Gem::Requirement
@@ -194,11 +236,14 @@ files:
194
236
  - config/secrets/ci/gpg.public
195
237
  - config/secrets/ci/ssh.private
196
238
  - config/secrets/ci/ssh.public
239
+ - config/secrets/circle_ci/config.yaml
240
+ - config/secrets/github/config.yaml
197
241
  - config/secrets/rubygems/credentials
198
242
  - go
199
243
  - lib/rake_github.rb
200
244
  - lib/rake_github/task_sets.rb
201
245
  - lib/rake_github/task_sets/deploy_keys.rb
246
+ - lib/rake_github/task_sets/repository.rb
202
247
  - lib/rake_github/tasks.rb
203
248
  - lib/rake_github/tasks/deploy_keys.rb
204
249
  - lib/rake_github/tasks/deploy_keys/destroy.rb