rake_github 0.8.0.pre.3 → 0.8.0.pre.7

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: 54aa46d54fad060c18e0812362c4a005cf0f4f1c3695648bab810d5df7dedc48
4
- data.tar.gz: 99f4c2c9400157ce6ff3782c1629f78957bd67354031fec29c1ae6c47ff1e10b
3
+ metadata.gz: 5e9159f6c2f6127d4eb80825c8aa08e497a31acef53c8347de4626c61eb23d2e
4
+ data.tar.gz: 10f599d94fd23758afb53712cbc15f916102273f422818bf970172ca8601053a
5
5
  SHA512:
6
- metadata.gz: '095922e501b9eeafb7756f36ffdaae6fd521f6b2f011e77bdbad48053ac2513101bd4df03d9bafa135bf136a6f87eed0c2801fdc30b17d2c35bbff4b8a095c0d'
7
- data.tar.gz: 36c3d6418ce2d68002c4e6f054e6cd2c7bc6ddeee392c97402c663fb75b598ead1d64c7d5bd38faedb0056608f4f47bc476bfbe04e2e925449c7e0252fbdd36d
6
+ metadata.gz: 22586b5137c090b829d1c07b8ee51705382733966b6a08b01990fb6d36c11cf3e7c44f000616845c0e014274fae2a4307e110785db21cea26113980591767370
7
+ data.tar.gz: ba7918019f2a6fb7ece98bb36af11380ac6f66652dffb0f51bbd113e8fa85d7e2be0a35bfde533ec88f507af3468e3f0e2afa85980f6e813b134d7fce732c531
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_github (0.8.0.pre.3)
4
+ rake_github (0.8.0.pre.7)
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
@@ -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 current 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'
@@ -25,6 +25,24 @@ module RakeGithub
25
25
  action do |t|
26
26
  client = Octokit::Client.new(access_token: access_token)
27
27
 
28
+ release_options = {
29
+ draft: t.draft,
30
+ prerelease: t.prerelease
31
+ }
32
+ if t.target_commitish
33
+ release_options[:target_commitish] = t.target_commitish
34
+ end
35
+ if t.release_name
36
+ release_options[:release_name] = t.release_name
37
+ end
38
+ if t.body
39
+ release_options[:body] = t.body
40
+ end
41
+ if t.discussion_category_name
42
+ release_options[:discussion_category_name] =
43
+ t.discussion_category_name
44
+ end
45
+
28
46
  puts 'Creating release' \
29
47
  "#{t.release_name ? " '#{t.release_name}'" : ''} " \
30
48
  "with tag '#{t.tag_name}' " \
@@ -32,12 +50,8 @@ module RakeGithub
32
50
  release = client.create_release(
33
51
  t.repository,
34
52
  t.tag_name,
35
- target_commitish: t.target_commitish,
36
- release_name: t.release_name,
37
- body: t.body,
38
- draft: t.draft,
39
- prerelease: t.prerelease,
40
- discussion_category_name: t.discussion_category_name)
53
+ release_options
54
+ )
41
55
 
42
56
  t.assets.each do |asset|
43
57
  if asset.is_a?(String)
@@ -46,8 +60,8 @@ module RakeGithub
46
60
  else
47
61
  puts(
48
62
  "Uploading asset '#{asset[:path]}'" +
49
- "#{asset[:name] ? " with name '#{asset[:name]}'" : ''} " +
50
- "to release with tag '#{t.tag_name}'...")
63
+ "#{asset[:name] ? " with name '#{asset[:name]}'" : ''} " +
64
+ "to release with tag '#{t.tag_name}'...")
51
65
  client.upload_asset(
52
66
  release.url, asset[:path], { name: asset[:name] })
53
67
  end
@@ -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.3'
2
+ VERSION = '0.8.0.pre.7'
3
3
  end
data/lib/rake_github.rb CHANGED
@@ -10,4 +10,8 @@ module RakeGithub
10
10
  def self.define_repository_tasks(opts = {}, &block)
11
11
  RakeGithub::TaskSets::Repository.define(opts, &block)
12
12
  end
13
+
14
+ def self.define_release_task(opts = {}, &block)
15
+ RakeGithub::Tasks::Releases::Create.define(opts, &block)
16
+ end
13
17
  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.3
4
+ version: 0.8.0.pre.7
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