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

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 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: