rake_github 0.8.0.pre.1 → 0.8.0.pre.5

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: 23a4ba9db997c00fd3977414a8a15fff075c78e76c3ee3c159d082d91a32a4aa
4
- data.tar.gz: 84ab809bcf3bb14087ffebe8971bbce736cf435a5d9fe92c9a87e1f2c6569437
3
+ metadata.gz: 7955c3ad1445546cd4f62398929bd4b2d13aee7d10147ac369cf39ea288bdd63
4
+ data.tar.gz: dd2c0dd41a7eda65fb7e7843cd4a3316feb5ef4c3adec37837a6394c13fca178
5
5
  SHA512:
6
- metadata.gz: 2420bd8235f3c8a01e7923af53130fe2d960e2c4b951eb32c9295063f82f62da6f1f232c78946ee662223b7212d456477a8181aa906cd2d6d21c44c3eb1af3d9
7
- data.tar.gz: 2acb33e6ad4682320c40d1c42172d11acb16cbe802c7d9478aa0f272dafbda22e59d230641b01671db76c785db924ec081962d8bf3e5c54dda7d1da468429b08
6
+ metadata.gz: 97d0733f1e4a8f68c7af39a8e80644bb821daa16aa7ed775cca4c039639f469d43ff0f952f6448084215150ce5a115c22e4df7102b0cbdd2738bccfb9142ddc4
7
+ data.tar.gz: '05383ba6e2f13005b2ad412a9cfc13cb738c84df2ab142884174a29a95f15affb048b85c07b35b85c0c22a961b2d5eff6f6be4660cccd603910e6666037aed98'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_github (0.8.0.pre.1)
4
+ rake_github (0.8.0.pre.5)
5
5
  colored2 (~> 3.1)
6
6
  octokit (~> 4.16)
7
7
  rake_factory (~> 0.23)
@@ -15,27 +15,33 @@ GEM
15
15
  i18n (>= 0.7, < 2)
16
16
  minitest (~> 5.1)
17
17
  tzinfo (~> 1.1)
18
- addressable (2.7.0)
18
+ addressable (2.8.0)
19
19
  public_suffix (>= 2.0.2, < 5.0)
20
20
  colored2 (3.1.2)
21
- concurrent-ruby (1.1.8)
21
+ concurrent-ruby (1.1.9)
22
22
  diff-lcs (1.4.4)
23
23
  docile (1.4.0)
24
- excon (0.82.0)
25
- faraday (1.4.2)
24
+ excon (0.85.0)
25
+ faraday (1.7.0)
26
26
  faraday-em_http (~> 1.0)
27
27
  faraday-em_synchrony (~> 1.0)
28
28
  faraday-excon (~> 1.1)
29
+ faraday-httpclient (~> 1.0.1)
29
30
  faraday-net_http (~> 1.0)
30
31
  faraday-net_http_persistent (~> 1.1)
32
+ faraday-patron (~> 1.0)
33
+ faraday-rack (~> 1.0)
31
34
  multipart-post (>= 1.2, < 3)
32
35
  ruby2_keywords (>= 0.0.4)
33
36
  faraday-em_http (1.0.0)
34
37
  faraday-em_synchrony (1.0.0)
35
38
  faraday-excon (1.1.0)
39
+ faraday-httpclient (1.0.1)
36
40
  faraday-net_http (1.0.1)
37
- faraday-net_http_persistent (1.1.0)
38
- gem-release (2.2.1)
41
+ faraday-net_http_persistent (1.2.0)
42
+ faraday-patron (1.0.0)
43
+ faraday-rack (1.0.0)
44
+ gem-release (2.2.2)
39
45
  hamster (3.0.0)
40
46
  concurrent-ruby (~> 1.0)
41
47
  i18n (1.8.10)
@@ -51,7 +57,7 @@ GEM
51
57
  sawyer (~> 0.8.0, >= 0.5.3)
52
58
  open4 (1.3.4)
53
59
  public_suffix (4.0.6)
54
- rake (13.0.3)
60
+ rake (13.0.6)
55
61
  rake_circle_ci (0.9.0)
56
62
  colored2 (~> 3.1)
57
63
  excon (~> 0.72)
@@ -80,7 +86,7 @@ GEM
80
86
  diff-lcs (>= 1.2.0, < 2.0)
81
87
  rspec-support (~> 3.10.0)
82
88
  rspec-support (3.10.2)
83
- ruby2_keywords (0.0.4)
89
+ ruby2_keywords (0.0.5)
84
90
  ruby_gpg2 (0.8.0)
85
91
  lino (>= 1.5)
86
92
  sawyer (0.8.2)
@@ -114,4 +120,4 @@ DEPENDENCIES
114
120
  simplecov (~> 0.16)
115
121
 
116
122
  BUNDLED WITH
117
- 2.2.18
123
+ 2.2.25
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
@@ -1 +1,2 @@
1
1
  require_relative 'tasks/deploy_keys'
2
+ require_relative 'tasks/releases'
@@ -6,9 +6,9 @@ module RakeGithub
6
6
  module DeployKeys
7
7
  class Destroy < RakeFactory::Task
8
8
  default_name :destroy
9
- default_description RakeFactory::DynamicValue.new { |t|
9
+ default_description(RakeFactory::DynamicValue.new { |t|
10
10
  "Destroys deploy keys from the #{t.repository} repository"
11
- }
11
+ })
12
12
 
13
13
  parameter :repository, required: true
14
14
  parameter :access_token, required: true
@@ -5,10 +5,10 @@ module RakeGithub
5
5
  module DeployKeys
6
6
  class Ensure < RakeFactory::Task
7
7
  default_name :ensure
8
- default_description RakeFactory::DynamicValue.new { |t|
8
+ default_description(RakeFactory::DynamicValue.new { |t|
9
9
  "Ensure deploy keys are configured on the " +
10
10
  "#{t.repository} repository"
11
- }
11
+ })
12
12
 
13
13
  parameter :repository, required: true
14
14
 
@@ -6,9 +6,9 @@ module RakeGithub
6
6
  module DeployKeys
7
7
  class Provision < RakeFactory::Task
8
8
  default_name :provision
9
- default_description RakeFactory::DynamicValue.new { |t|
9
+ default_description(RakeFactory::DynamicValue.new { |t|
10
10
  "Provision deploy keys to the #{t.repository} repository"
11
- }
11
+ })
12
12
 
13
13
  parameter :repository, required: true
14
14
  parameter :access_token, required: true
@@ -0,0 +1 @@
1
+ require_relative 'releases/create'
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake_factory'
4
+ require 'octokit'
5
+
6
+ module RakeGithub
7
+ module Tasks
8
+ module Releases
9
+ class Create < RakeFactory::Task
10
+ default_description(RakeFactory::DynamicValue.new do |t|
11
+ "Creates a release on the #{t.repository} repository"
12
+ end)
13
+
14
+ parameter :repository, required: true
15
+ parameter :access_token, required: true
16
+ parameter :tag_name, required: true
17
+ parameter :target_commitish
18
+ parameter :release_name
19
+ parameter :body
20
+ parameter :draft, default: false
21
+ parameter :prerelease, default: false
22
+ parameter :discussion_category_name
23
+ parameter :assets, default: []
24
+
25
+ action do |t|
26
+ client = Octokit::Client.new(access_token: access_token)
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
+
46
+ puts 'Creating release' \
47
+ "#{t.release_name ? " '#{t.release_name}'" : ''} " \
48
+ "with tag '#{t.tag_name}' " \
49
+ "on '#{t.repository}' repository..."
50
+ release = client.create_release(
51
+ t.repository,
52
+ t.tag_name,
53
+ release_options
54
+ )
55
+
56
+ t.assets.each do |asset|
57
+ if asset.is_a?(String)
58
+ puts "Uploading asset '#{asset}' to release with tag '#{t.tag_name}'..."
59
+ client.upload_asset(release.url, asset)
60
+ else
61
+ puts(
62
+ "Uploading asset '#{asset[:path]}'" +
63
+ "#{asset[:name] ? " with name '#{asset[:name]}'" : ''} " +
64
+ "to release with tag '#{t.tag_name}'...")
65
+ client.upload_asset(
66
+ release.url, asset[:path], { name: asset[:name] })
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -1,3 +1,3 @@
1
1
  module RakeGithub
2
- VERSION = '0.8.0.pre.1'
2
+ VERSION = '0.8.0.pre.5'
3
3
  end
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.8.0.pre.1
4
+ version: 0.8.0.pre.5
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-05-30 00:00:00.000000000 Z
11
+ date: 2021-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_factory
@@ -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/releases.rb
248
+ - lib/rake_github/tasks/releases/create.rb
247
249
  - lib/rake_github/version.rb
248
250
  homepage: https://github.com/infrablocks/rake_github
249
251
  licenses: