rake_github 0.8.0.pre.1 → 0.8.0.pre.2

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: e220fd6e42edbeddaace2b3d15f6cff7a97ee0563cb3180702842d3b4bebe5ba
4
+ data.tar.gz: 8d5c4e5924d9e49b04160abd9783e0c0ac10cddea028e00f733faa371751028f
5
5
  SHA512:
6
- metadata.gz: 2420bd8235f3c8a01e7923af53130fe2d960e2c4b951eb32c9295063f82f62da6f1f232c78946ee662223b7212d456477a8181aa906cd2d6d21c44c3eb1af3d9
7
- data.tar.gz: 2acb33e6ad4682320c40d1c42172d11acb16cbe802c7d9478aa0f272dafbda22e59d230641b01671db76c785db924ec081962d8bf3e5c54dda7d1da468429b08
6
+ metadata.gz: 8f73fd1a1812a80d7fba7b29159ab4c864c528472548e20765284466a158a90ab94b6df7c8b932c5cc99dfc31dfeb8b5f12677e53b56783bf3d65400e2197dda
7
+ data.tar.gz: 7db09491c8ef39dbb6c44c395846c8bc8112230d4f85955a9d71af5298c47b8ee5390fb2d95f737469b1f26334876f59706a092c9d196a027d8e2d6d17efaff3
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.2)
5
5
  colored2 (~> 3.1)
6
6
  octokit (~> 4.16)
7
7
  rake_factory (~> 0.23)
@@ -114,4 +114,4 @@ DEPENDENCIES
114
114
  simplecov (~> 0.16)
115
115
 
116
116
  BUNDLED WITH
117
- 2.2.18
117
+ 2.2.25
@@ -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,59 @@
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
+ puts 'Creating release' \
29
+ "#{t.release_name ? " '#{t.release_name}'" : ''} " \
30
+ "with tag '#{t.tag_name}' " \
31
+ "on '#{t.repository}' repository..."
32
+ release = client.create_release(
33
+ t.repository,
34
+ 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)
41
+
42
+ t.assets.each do |asset|
43
+ if asset.is_a?(String)
44
+ puts "Uploading asset '#{asset}' to release with tag '#{t.tag_name}'..."
45
+ client.upload_asset(release.url, asset)
46
+ else
47
+ puts(
48
+ "Uploading asset '#{asset[:path]}'" +
49
+ "#{asset[:name] ? " with name '#{asset[:name]}'" : ''} " +
50
+ "to release with tag '#{t.tag_name}'...")
51
+ client.upload_asset(
52
+ release.url, asset[:path], { name: asset[:name] })
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -1,3 +1,3 @@
1
1
  module RakeGithub
2
- VERSION = '0.8.0.pre.1'
2
+ VERSION = '0.8.0.pre.2'
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.2
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-13 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: