virustotal_api 0.4.1 → 0.5.0
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 +4 -4
- data/.github/workflows/ruby.yml +26 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +12 -5
- data/CHANGELOG.md +7 -2
- data/README.md +48 -56
- data/lib/virustotal_api.rb +5 -7
- data/lib/virustotal_api/analysis.rb +24 -0
- data/lib/virustotal_api/base.rb +35 -10
- data/lib/virustotal_api/domain.rb +24 -0
- data/lib/virustotal_api/exceptions.rb +3 -0
- data/lib/virustotal_api/file.rb +56 -0
- data/lib/virustotal_api/ip.rb +24 -0
- data/lib/virustotal_api/uri.rb +2 -1
- data/lib/virustotal_api/url.rb +46 -0
- data/lib/virustotal_api/version.rb +2 -1
- data/test/analysis_test.rb +23 -0
- data/test/base_test.rb +8 -28
- data/test/domain_test.rb +32 -0
- data/test/exceptions_test.rb +14 -0
- data/test/file_test.rb +68 -0
- data/test/fixtures/analysis.yml +544 -0
- data/test/fixtures/domain.yml +830 -0
- data/test/fixtures/file_analyse.yml +52 -0
- data/test/fixtures/file_find.yml +1236 -0
- data/test/fixtures/file_unauthorized.yml +51 -0
- data/test/fixtures/file_upload.yml +54 -0
- data/test/fixtures/ip.yml +716 -0
- data/test/fixtures/unscanned_url_find.yml +44 -0
- data/test/fixtures/url_analyse.yml +52 -0
- data/test/fixtures/url_find.yml +599 -0
- data/test/{ip_report_test.rb → ip_test.rb} +4 -4
- data/test/uri_test.rb +1 -1
- data/test/url_test.rb +65 -0
- data/test/version_test.rb +1 -1
- data/virustotal_api.gemspec +10 -8
- metadata +86 -70
- data/.github/workflows/gem_publish.yml +0 -38
- data/lib/virustotal_api/domain_report.rb +0 -36
- data/lib/virustotal_api/file_report.rb +0 -37
- data/lib/virustotal_api/file_rescan.rb +0 -36
- data/lib/virustotal_api/file_scan.rb +0 -38
- data/lib/virustotal_api/ip_report.rb +0 -36
- data/lib/virustotal_api/url_report.rb +0 -41
- data/lib/virustotal_api/url_scan.rb +0 -36
- data/test/domain_report_test.rb +0 -32
- data/test/file_report_test.rb +0 -36
- data/test/file_rescan_test.rb +0 -32
- data/test/file_scan_test.rb +0 -30
- data/test/fixtures/domain_report.yml +0 -311
- data/test/fixtures/ip_report.yml +0 -1323
- data/test/fixtures/queue_unscanned_url_report.yml +0 -46
- data/test/fixtures/report.yml +0 -110
- data/test/fixtures/report_not_found.yml +0 -42
- data/test/fixtures/request_forbidden.yml +0 -38
- data/test/fixtures/rescan.yml +0 -47
- data/test/fixtures/scan.yml +0 -49
- data/test/fixtures/unscanned_url_report.yml +0 -43
- data/test/fixtures/url_report.yml +0 -95
- data/test/fixtures/url_scan.yml +0 -48
- data/test/url_report_test.rb +0 -57
- data/test/url_scan_test.rb +0 -30
@@ -9,15 +9,15 @@ class VirustotalAPIIPReportTest < Minitest::Test
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def test_class_exists
|
12
|
-
assert VirustotalAPI::
|
12
|
+
assert VirustotalAPI::IP
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_report_response
|
16
|
-
VCR.use_cassette('
|
17
|
-
vtip_report = VirustotalAPI::
|
16
|
+
VCR.use_cassette('ip') do
|
17
|
+
vtip_report = VirustotalAPI::IP.find(@ip, @api_key)
|
18
18
|
|
19
19
|
# Make sure that the JSON was parsed
|
20
|
-
assert vtip_report.is_a?(VirustotalAPI::
|
20
|
+
assert vtip_report.is_a?(VirustotalAPI::IP)
|
21
21
|
assert vtip_report.report.is_a?(Hash)
|
22
22
|
end
|
23
23
|
end
|
data/test/uri_test.rb
CHANGED
@@ -5,6 +5,6 @@ require './test/test_helper'
|
|
5
5
|
class VirustotalAPIVTReportTest < Minitest::Test
|
6
6
|
def test_api_base_uri
|
7
7
|
assert VirustotalAPI::URI.is_a?(String)
|
8
|
-
|
8
|
+
assert_equal 'https://www.virustotal.com/api/v3', VirustotalAPI::URI
|
9
9
|
end
|
10
10
|
end
|
data/test/url_test.rb
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require './test/test_helper'
|
4
|
+
|
5
|
+
class VirustotalAPIURLReportTest < Minitest::Test
|
6
|
+
def setup
|
7
|
+
@unscanned_url = 'http://www.unscanned.com'
|
8
|
+
@url = 'http://www.google.com'
|
9
|
+
@api_key = 'testapikey'
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_class_exists
|
13
|
+
assert VirustotalAPI::URL
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_report_response
|
17
|
+
VCR.use_cassette('url_find') do
|
18
|
+
vturl_report = VirustotalAPI::URL.find(@url, @api_key)
|
19
|
+
|
20
|
+
# Make sure that the JSON was parsed
|
21
|
+
assert vturl_report.is_a?(VirustotalAPI::URL)
|
22
|
+
assert vturl_report.report.is_a?(Hash)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_find
|
27
|
+
VCR.use_cassette('url_find') do
|
28
|
+
vturl_report = VirustotalAPI::URL.find(@url, @api_key)
|
29
|
+
|
30
|
+
assert vturl_report.report_url.is_a?(String)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_scan_url
|
35
|
+
VCR.use_cassette('url_find') do
|
36
|
+
vturl_report = VirustotalAPI::URL.find(@url, @api_key)
|
37
|
+
|
38
|
+
assert vturl_report.id.is_a?(String)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_scan_unscanned_url
|
43
|
+
VCR.use_cassette('unscanned_url_find') do
|
44
|
+
vturl_report = VirustotalAPI::URL.find(@unscanned_url, @api_key)
|
45
|
+
|
46
|
+
assert_nil vturl_report.report
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_analyse
|
51
|
+
VCR.use_cassette('url_analyse') do
|
52
|
+
vturl_scan = VirustotalAPI::URL.analyse(@url, @api_key)
|
53
|
+
|
54
|
+
assert vturl_scan.report.is_a?(Hash)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_analyse_id
|
59
|
+
VCR.use_cassette('url_analyse') do
|
60
|
+
vturl_scan = VirustotalAPI::URL.analyse(@url, @api_key)
|
61
|
+
|
62
|
+
assert vturl_scan.id.is_a?(String)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
data/test/version_test.rb
CHANGED
data/virustotal_api.gemspec
CHANGED
@@ -10,24 +10,26 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.authors = ['pwelch']
|
11
11
|
spec.email = ['paul@pwelch.net']
|
12
12
|
spec.summary = 'Gem for VirusTotal.com API'
|
13
|
-
spec.description = 'Gem for VirusTotal.com API'
|
13
|
+
spec.description = 'Gem for VirusTotal.com API, supporting API V3'
|
14
14
|
spec.homepage = 'https://github.com/pwelch/virustotal_api'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
|
+
spec.required_ruby_version = '>= 2.6'
|
18
|
+
|
17
19
|
spec.files = `git ls-files -z`.split("\x0")
|
18
20
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
21
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
22
|
spec.require_paths = ['lib']
|
21
23
|
|
22
|
-
spec.add_dependency 'json'
|
23
|
-
spec.add_dependency 'rest-client'
|
24
|
+
spec.add_dependency 'json', '~> 2.3', '>= 2.3.1'
|
25
|
+
spec.add_dependency 'rest-client', '~> 2.1', '>= 2.1.0'
|
24
26
|
|
25
27
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
26
|
-
spec.add_development_dependency 'minitest'
|
27
|
-
spec.add_development_dependency 'pry'
|
28
|
+
spec.add_development_dependency 'minitest', '~> 5.14', '>= 5.14.1'
|
29
|
+
spec.add_development_dependency 'pry', '~> 0.13.1'
|
28
30
|
spec.add_development_dependency 'rake', '~> 12.3'
|
29
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
30
|
-
spec.add_development_dependency 'vcr'
|
31
|
-
spec.add_development_dependency 'webmock'
|
31
|
+
spec.add_development_dependency 'rubocop', '~> 0.91'
|
32
|
+
spec.add_development_dependency 'vcr', '~> 6.0', '>= 6.0.0'
|
33
|
+
spec.add_development_dependency 'webmock', '~> 3.9'
|
32
34
|
spec.add_development_dependency 'yard', '~> 0.9'
|
33
35
|
end
|
metadata
CHANGED
@@ -1,43 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: virustotal_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pwelch
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.3'
|
17
20
|
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
version: 2.3.1
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.3'
|
24
30
|
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 2.3.1
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: rest-client
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - ">="
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
39
|
+
version: 2.1.0
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '2.1'
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
47
|
- - ">="
|
39
48
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
49
|
+
version: 2.1.0
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '2.1'
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: bundler
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,30 +68,36 @@ dependencies:
|
|
56
68
|
name: minitest
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
58
70
|
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '5.14'
|
59
74
|
- - ">="
|
60
75
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
76
|
+
version: 5.14.1
|
62
77
|
type: :development
|
63
78
|
prerelease: false
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
65
80
|
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '5.14'
|
66
84
|
- - ">="
|
67
85
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
86
|
+
version: 5.14.1
|
69
87
|
- !ruby/object:Gem::Dependency
|
70
88
|
name: pry
|
71
89
|
requirement: !ruby/object:Gem::Requirement
|
72
90
|
requirements:
|
73
|
-
- - "
|
91
|
+
- - "~>"
|
74
92
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
93
|
+
version: 0.13.1
|
76
94
|
type: :development
|
77
95
|
prerelease: false
|
78
96
|
version_requirements: !ruby/object:Gem::Requirement
|
79
97
|
requirements:
|
80
|
-
- - "
|
98
|
+
- - "~>"
|
81
99
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
100
|
+
version: 0.13.1
|
83
101
|
- !ruby/object:Gem::Dependency
|
84
102
|
name: rake
|
85
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,42 +118,48 @@ dependencies:
|
|
100
118
|
requirements:
|
101
119
|
- - "~>"
|
102
120
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0.
|
121
|
+
version: '0.91'
|
104
122
|
type: :development
|
105
123
|
prerelease: false
|
106
124
|
version_requirements: !ruby/object:Gem::Requirement
|
107
125
|
requirements:
|
108
126
|
- - "~>"
|
109
127
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
128
|
+
version: '0.91'
|
111
129
|
- !ruby/object:Gem::Dependency
|
112
130
|
name: vcr
|
113
131
|
requirement: !ruby/object:Gem::Requirement
|
114
132
|
requirements:
|
115
133
|
- - ">="
|
116
134
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
135
|
+
version: 6.0.0
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '6.0'
|
118
139
|
type: :development
|
119
140
|
prerelease: false
|
120
141
|
version_requirements: !ruby/object:Gem::Requirement
|
121
142
|
requirements:
|
122
143
|
- - ">="
|
123
144
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
145
|
+
version: 6.0.0
|
146
|
+
- - "~>"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '6.0'
|
125
149
|
- !ruby/object:Gem::Dependency
|
126
150
|
name: webmock
|
127
151
|
requirement: !ruby/object:Gem::Requirement
|
128
152
|
requirements:
|
129
|
-
- - "
|
153
|
+
- - "~>"
|
130
154
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
155
|
+
version: '3.9'
|
132
156
|
type: :development
|
133
157
|
prerelease: false
|
134
158
|
version_requirements: !ruby/object:Gem::Requirement
|
135
159
|
requirements:
|
136
|
-
- - "
|
160
|
+
- - "~>"
|
137
161
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
162
|
+
version: '3.9'
|
139
163
|
- !ruby/object:Gem::Dependency
|
140
164
|
name: yard
|
141
165
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,7 +174,7 @@ dependencies:
|
|
150
174
|
- - "~>"
|
151
175
|
- !ruby/object:Gem::Version
|
152
176
|
version: '0.9'
|
153
|
-
description: Gem for VirusTotal.com API
|
177
|
+
description: Gem for VirusTotal.com API, supporting API V3
|
154
178
|
email:
|
155
179
|
- paul@pwelch.net
|
156
180
|
executables: []
|
@@ -161,7 +185,7 @@ files:
|
|
161
185
|
- ".github/CODE_OF_CONDUCT.md"
|
162
186
|
- ".github/CONTRIBUTING.md"
|
163
187
|
- ".github/ISSUE_TEMPLATE.md"
|
164
|
-
- ".github/workflows/
|
188
|
+
- ".github/workflows/ruby.yml"
|
165
189
|
- ".gitignore"
|
166
190
|
- ".rubocop.yml"
|
167
191
|
- CHANGELOG.md
|
@@ -170,47 +194,42 @@ files:
|
|
170
194
|
- README.md
|
171
195
|
- Rakefile
|
172
196
|
- lib/virustotal_api.rb
|
197
|
+
- lib/virustotal_api/analysis.rb
|
173
198
|
- lib/virustotal_api/base.rb
|
174
|
-
- lib/virustotal_api/
|
199
|
+
- lib/virustotal_api/domain.rb
|
175
200
|
- lib/virustotal_api/exceptions.rb
|
176
|
-
- lib/virustotal_api/
|
177
|
-
- lib/virustotal_api/
|
178
|
-
- lib/virustotal_api/file_scan.rb
|
179
|
-
- lib/virustotal_api/ip_report.rb
|
201
|
+
- lib/virustotal_api/file.rb
|
202
|
+
- lib/virustotal_api/ip.rb
|
180
203
|
- lib/virustotal_api/uri.rb
|
181
|
-
- lib/virustotal_api/
|
182
|
-
- lib/virustotal_api/url_scan.rb
|
204
|
+
- lib/virustotal_api/url.rb
|
183
205
|
- lib/virustotal_api/version.rb
|
206
|
+
- test/analysis_test.rb
|
184
207
|
- test/base_test.rb
|
185
|
-
- test/
|
208
|
+
- test/domain_test.rb
|
186
209
|
- test/exceptions_test.rb
|
187
|
-
- test/
|
188
|
-
- test/
|
189
|
-
- test/
|
190
|
-
- test/fixtures/
|
191
|
-
- test/fixtures/
|
210
|
+
- test/file_test.rb
|
211
|
+
- test/fixtures/analysis.yml
|
212
|
+
- test/fixtures/domain.yml
|
213
|
+
- test/fixtures/file_analyse.yml
|
214
|
+
- test/fixtures/file_find.yml
|
215
|
+
- test/fixtures/file_unauthorized.yml
|
216
|
+
- test/fixtures/file_upload.yml
|
217
|
+
- test/fixtures/ip.yml
|
192
218
|
- test/fixtures/null_file
|
193
|
-
- test/fixtures/
|
194
|
-
- test/fixtures/
|
195
|
-
- test/fixtures/
|
196
|
-
- test/
|
197
|
-
- test/fixtures/rescan.yml
|
198
|
-
- test/fixtures/scan.yml
|
199
|
-
- test/fixtures/unscanned_url_report.yml
|
200
|
-
- test/fixtures/url_report.yml
|
201
|
-
- test/fixtures/url_scan.yml
|
202
|
-
- test/ip_report_test.rb
|
219
|
+
- test/fixtures/unscanned_url_find.yml
|
220
|
+
- test/fixtures/url_analyse.yml
|
221
|
+
- test/fixtures/url_find.yml
|
222
|
+
- test/ip_test.rb
|
203
223
|
- test/test_helper.rb
|
204
224
|
- test/uri_test.rb
|
205
|
-
- test/
|
206
|
-
- test/url_scan_test.rb
|
225
|
+
- test/url_test.rb
|
207
226
|
- test/version_test.rb
|
208
227
|
- virustotal_api.gemspec
|
209
228
|
homepage: https://github.com/pwelch/virustotal_api
|
210
229
|
licenses:
|
211
230
|
- MIT
|
212
231
|
metadata: {}
|
213
|
-
post_install_message:
|
232
|
+
post_install_message:
|
214
233
|
rdoc_options: []
|
215
234
|
require_paths:
|
216
235
|
- lib
|
@@ -218,39 +237,36 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
218
237
|
requirements:
|
219
238
|
- - ">="
|
220
239
|
- !ruby/object:Gem::Version
|
221
|
-
version: '
|
240
|
+
version: '2.6'
|
222
241
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
223
242
|
requirements:
|
224
243
|
- - ">="
|
225
244
|
- !ruby/object:Gem::Version
|
226
245
|
version: '0'
|
227
246
|
requirements: []
|
228
|
-
rubygems_version: 3.0.
|
229
|
-
signing_key:
|
247
|
+
rubygems_version: 3.0.3
|
248
|
+
signing_key:
|
230
249
|
specification_version: 4
|
231
250
|
summary: Gem for VirusTotal.com API
|
232
251
|
test_files:
|
252
|
+
- test/analysis_test.rb
|
233
253
|
- test/base_test.rb
|
234
|
-
- test/
|
254
|
+
- test/domain_test.rb
|
235
255
|
- test/exceptions_test.rb
|
236
|
-
- test/
|
237
|
-
- test/
|
238
|
-
- test/
|
239
|
-
- test/fixtures/
|
240
|
-
- test/fixtures/
|
256
|
+
- test/file_test.rb
|
257
|
+
- test/fixtures/analysis.yml
|
258
|
+
- test/fixtures/domain.yml
|
259
|
+
- test/fixtures/file_analyse.yml
|
260
|
+
- test/fixtures/file_find.yml
|
261
|
+
- test/fixtures/file_unauthorized.yml
|
262
|
+
- test/fixtures/file_upload.yml
|
263
|
+
- test/fixtures/ip.yml
|
241
264
|
- test/fixtures/null_file
|
242
|
-
- test/fixtures/
|
243
|
-
- test/fixtures/
|
244
|
-
- test/fixtures/
|
245
|
-
- test/
|
246
|
-
- test/fixtures/rescan.yml
|
247
|
-
- test/fixtures/scan.yml
|
248
|
-
- test/fixtures/unscanned_url_report.yml
|
249
|
-
- test/fixtures/url_report.yml
|
250
|
-
- test/fixtures/url_scan.yml
|
251
|
-
- test/ip_report_test.rb
|
265
|
+
- test/fixtures/unscanned_url_find.yml
|
266
|
+
- test/fixtures/url_analyse.yml
|
267
|
+
- test/fixtures/url_find.yml
|
268
|
+
- test/ip_test.rb
|
252
269
|
- test/test_helper.rb
|
253
270
|
- test/uri_test.rb
|
254
|
-
- test/
|
255
|
-
- test/url_scan_test.rb
|
271
|
+
- test/url_test.rb
|
256
272
|
- test/version_test.rb
|
@@ -1,38 +0,0 @@
|
|
1
|
-
name: Ruby Gem
|
2
|
-
|
3
|
-
on: release
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
build:
|
7
|
-
name: Build + Publish
|
8
|
-
runs-on: ubuntu-latest
|
9
|
-
|
10
|
-
steps:
|
11
|
-
- uses: actions/checkout@master
|
12
|
-
- name: Set up Ruby 2.6
|
13
|
-
uses: actions/setup-ruby@v1
|
14
|
-
with:
|
15
|
-
version: 2.6.x
|
16
|
-
|
17
|
-
- name: Publish to GPR
|
18
|
-
run: |
|
19
|
-
mkdir -p $HOME/.gem
|
20
|
-
touch $HOME/.gem/credentials
|
21
|
-
chmod 0600 $HOME/.gem/credentials
|
22
|
-
printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
23
|
-
gem build *.gemspec
|
24
|
-
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
25
|
-
env:
|
26
|
-
GEM_HOST_API_KEY: ${{secrets.GITHUB_TOKEN}}
|
27
|
-
OWNER: username
|
28
|
-
|
29
|
-
- name: Publish to RubyGems
|
30
|
-
run: |
|
31
|
-
mkdir -p $HOME/.gem
|
32
|
-
touch $HOME/.gem/credentials
|
33
|
-
chmod 0600 $HOME/.gem/credentials
|
34
|
-
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
35
|
-
gem build *.gemspec
|
36
|
-
gem push *.gem
|
37
|
-
env:
|
38
|
-
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|