rake_github 0.8.0.pre.5 → 0.8.0.pre.9

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: 7955c3ad1445546cd4f62398929bd4b2d13aee7d10147ac369cf39ea288bdd63
4
- data.tar.gz: dd2c0dd41a7eda65fb7e7843cd4a3316feb5ef4c3adec37837a6394c13fca178
3
+ metadata.gz: 9dcbdb76645e0c2d73eb81c97393d0626a4b9835f332477207223e61efa31d4c
4
+ data.tar.gz: d687c0acb4308a01d5eb0b14c83f4ccef245fe935322ad5a45c977de32363ab9
5
5
  SHA512:
6
- metadata.gz: 97d0733f1e4a8f68c7af39a8e80644bb821daa16aa7ed775cca4c039639f469d43ff0f952f6448084215150ce5a115c22e4df7102b0cbdd2738bccfb9142ddc4
7
- data.tar.gz: '05383ba6e2f13005b2ad412a9cfc13cb738c84df2ab142884174a29a95f15affb048b85c07b35b85c0c22a961b2d5eff6f6be4660cccd603910e6666037aed98'
6
+ metadata.gz: 55177a37b1577f8ca2fa7c3ec6224e40bd672e321e57f1069a34295480f7b699a403441742588e2475e82dd796c0f35ddaf122e6cfa6e7ef32d0140b9749f151
7
+ data.tar.gz: cf139bb2175bd60da0aa4639c751c651c6d3a622260e46143306b6970a9baab6d99f858f9e8151adcd816dd115c893d0332a6973f1c0287add558d5328cb376b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_github (0.8.0.pre.5)
4
+ rake_github (0.8.0.pre.9)
5
5
  colored2 (~> 3.1)
6
6
  octokit (~> 4.16)
7
7
  rake_factory (~> 0.23)
@@ -10,11 +10,12 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (5.2.6)
13
+ activesupport (6.1.4.1)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
- i18n (>= 0.7, < 2)
16
- minitest (~> 5.1)
17
- tzinfo (~> 1.1)
15
+ i18n (>= 1.6, < 2)
16
+ minitest (>= 5.1)
17
+ tzinfo (~> 2.0)
18
+ zeitwerk (~> 2.3)
18
19
  addressable (2.8.0)
19
20
  public_suffix (>= 2.0.2, < 5.0)
20
21
  colored2 (3.1.2)
@@ -44,7 +45,7 @@ GEM
44
45
  gem-release (2.2.2)
45
46
  hamster (3.0.0)
46
47
  concurrent-ruby (~> 1.0)
47
- i18n (1.8.10)
48
+ i18n (1.8.11)
48
49
  concurrent-ruby (~> 1.0)
49
50
  lino (3.0.0)
50
51
  hamster (~> 3.0)
@@ -99,15 +100,15 @@ GEM
99
100
  simplecov-html (0.12.3)
100
101
  simplecov_json_formatter (0.1.3)
101
102
  sshkey (2.0.0)
102
- thread_safe (0.3.6)
103
- tzinfo (1.2.9)
104
- thread_safe (~> 0.1)
103
+ tzinfo (2.0.4)
104
+ concurrent-ruby (~> 1.0)
105
+ zeitwerk (2.5.1)
105
106
 
106
107
  PLATFORMS
107
108
  ruby
108
109
 
109
110
  DEPENDENCIES
110
- activesupport (~> 5.2)
111
+ activesupport (~> 6.1)
111
112
  bundler (~> 2.0)
112
113
  gem-release (~> 2.0)
113
114
  memfs (~> 1.0)
@@ -120,4 +121,4 @@ DEPENDENCIES
120
121
  simplecov (~> 0.16)
121
122
 
122
123
  BUNDLED WITH
123
- 2.2.25
124
+ 2.3.6
@@ -34,6 +34,7 @@ module RakeGithub
34
34
  destroy_task_name: RakeFactory::DynamicValue.new { |ts|
35
35
  ts.deploy_keys_destroy_task_name
36
36
  }
37
+ task Tasks::PullRequests::Merge, argument_names: [:branch_name]
37
38
 
38
39
  def define_on(application)
39
40
  around_define(application) do
@@ -41,6 +42,8 @@ module RakeGithub
41
42
  ns = case task_definition.klass.to_s
42
43
  when /DeployKeys/
43
44
  deploy_keys_namespace
45
+ when /PullRequests/
46
+ :pull_requests
44
47
  else
45
48
  nil
46
49
  end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake_factory'
4
+ require 'octokit'
5
+
6
+ module RakeGithub
7
+ module Tasks
8
+ module PullRequests
9
+ class Merge < RakeFactory::Task
10
+ default_description(RakeFactory::DynamicValue.new do |t|
11
+ "Merges pull request on the specified branch in the #{t.repository} repository"
12
+ end)
13
+
14
+ parameter :repository, required: true
15
+ parameter :access_token, required: true
16
+ parameter :branch_name, required: true
17
+ parameter :commit_message, default: ''
18
+
19
+ action do |t|
20
+ github_client = Octokit::Client.new(access_token: access_token)
21
+
22
+ open_prs = github_client.pull_requests(t.repository)
23
+
24
+ current_pr = open_prs
25
+ .find { |pr| pr[:head][:ref] == t.branch_name }
26
+
27
+ raise NoPullRequestError.new t.branch_name if current_pr.nil?
28
+
29
+ github_client.merge_pull_request(
30
+ t.repository,
31
+ current_pr[:number],
32
+ format(t.commit_message % current_pr[:title])
33
+ )
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ class NoPullRequestError < StandardError
41
+ attr_reader :branch_name
42
+ def initialize(branch_name)
43
+ @branch_name = branch_name
44
+ end
45
+
46
+ def message
47
+ "No pull request associated with branch %s" % branch_name
48
+ end
49
+ end
@@ -0,0 +1 @@
1
+ require_relative 'pull_requests/merge'
@@ -1,2 +1,3 @@
1
1
  require_relative 'tasks/deploy_keys'
2
2
  require_relative 'tasks/releases'
3
+ require_relative 'tasks/pull_requests'
@@ -1,3 +1,3 @@
1
1
  module RakeGithub
2
- VERSION = '0.8.0.pre.5'
2
+ VERSION = '0.8.0.pre.9'
3
3
  end
metadata CHANGED
@@ -1,211 +1,211 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_github
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0.pre.5
4
+ version: 0.8.0.pre.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-14 00:00:00.000000000 Z
11
+ date: 2022-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rake_factory
14
+ name: colored2
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.23'
19
+ version: '3.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.23'
26
+ version: '3.1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: sshkey
28
+ name: octokit
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.0'
33
+ version: '4.16'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.0'
40
+ version: '4.16'
41
41
  - !ruby/object:Gem::Dependency
42
- name: octokit
42
+ name: rake_factory
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '4.16'
47
+ version: '0.23'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '4.16'
54
+ version: '0.23'
55
55
  - !ruby/object:Gem::Dependency
56
- name: colored2
56
+ name: sshkey
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.1'
61
+ version: '2.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.1'
68
+ version: '2.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: bundler
70
+ name: activesupport
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.0'
75
+ version: '6.1'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.0'
82
+ version: '6.1'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rake
84
+ name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '13.0'
89
+ version: '2.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '13.0'
96
+ version: '2.0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rake_circle_ci
98
+ name: gem-release
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.9'
103
+ version: '2.0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.9'
110
+ version: '2.0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rake_github
112
+ name: memfs
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.5'
117
+ version: '1.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.5'
124
+ version: '1.0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rake_ssh
126
+ name: rake
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0.4'
131
+ version: '13.0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0.4'
138
+ version: '13.0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: rake_gpg
140
+ name: rake_circle_ci
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.12'
145
+ version: '0.9'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.12'
152
+ version: '0.9'
153
153
  - !ruby/object:Gem::Dependency
154
- name: rspec
154
+ name: rake_github
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '3.9'
159
+ version: '0.5'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '3.9'
166
+ version: '0.5'
167
167
  - !ruby/object:Gem::Dependency
168
- name: gem-release
168
+ name: rake_gpg
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '2.0'
173
+ version: '0.12'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '2.0'
180
+ version: '0.12'
181
181
  - !ruby/object:Gem::Dependency
182
- name: activesupport
182
+ name: rake_ssh
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '5.2'
187
+ version: '0.4'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '5.2'
194
+ version: '0.4'
195
195
  - !ruby/object:Gem::Dependency
196
- name: memfs
196
+ name: rspec
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '1.0'
201
+ version: '3.9'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '1.0'
208
+ version: '3.9'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: simplecov
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -244,6 +244,8 @@ files:
244
244
  - lib/rake_github/tasks/deploy_keys/destroy.rb
245
245
  - lib/rake_github/tasks/deploy_keys/ensure.rb
246
246
  - lib/rake_github/tasks/deploy_keys/provision.rb
247
+ - lib/rake_github/tasks/pull_requests.rb
248
+ - lib/rake_github/tasks/pull_requests/merge.rb
247
249
  - lib/rake_github/tasks/releases.rb
248
250
  - lib/rake_github/tasks/releases/create.rb
249
251
  - lib/rake_github/version.rb