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

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