luna_park 0.11.7 → 0.12.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17f27391a9cf68f27141e6cf1c408abf3d62e68914252311fb2ee9542ec14704
4
- data.tar.gz: c434508390a2ae07e71ad5578c5e82f251051b7e2008c8d0383609de5c399dca
3
+ metadata.gz: 14e20ec6fc8a3a6e96958a184503dbc5850dbf74e14c8d5943514c32c264337b
4
+ data.tar.gz: 6b3860177c18140dc5ea8c3a1e5e26577a952597d6f9c8f820499b6128b29d97
5
5
  SHA512:
6
- metadata.gz: 2d806ea403698a4cbcbae094abd3257418e2920d9ba1cb793ef92d250380594c89e71f6e24d0e583b2ef87074bd0e8b7a15c06c8252da8d379726ab1a1aee9dc
7
- data.tar.gz: d777a213dfd32208477d1af5291a357c3639df8e3d6dd1d4c586d4b19d2c3221cdaab045928245ef7a97308141b8bbede2d7cf55a49f85dca0fcae4b908cebf5
6
+ metadata.gz: 509321c66abc91c03bfd78cad59f8201c0961a064facf057bdd3db339747a4adb7eb227e09228bb486e8aa7261348d64fe554e034ba2d07b438d963ced03f004
7
+ data.tar.gz: 6c95a9de22724e65fd6afccc731b671aec2853e15bc7948a3ea395ac2735e1b30d0130773a8fccb9d6d714537cc0bd2ed44e3301b1e72de25f9cbab3ca4d4486
@@ -13,11 +13,11 @@ jobs:
13
13
  packages: write
14
14
 
15
15
  steps:
16
- - uses: actions/checkout@v2
16
+ - uses: actions/checkout@v3
17
17
  - name: Set up Ruby 2.5
18
- uses: actions/setup-ruby@v1
18
+ uses: ruby/setup-ruby@v1
19
19
  with:
20
- ruby-version: 2.5.x
20
+ ruby-version: '2.5'
21
21
 
22
22
  - name: Publish to GPR
23
23
  run: |
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ .DS_Store
1
2
  /.idea/
2
3
  /.bundle/
3
4
  /.yardoc
data/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.12.0] - 2023-02-23
8
+ Changed
9
+ - Added `TaggedLog`
10
+
7
11
  ## [0.11.7] - 2022-10-07
8
12
  Changed
9
13
  - Added `formatter` to `Notifiers::Log`. Using `format` in initializer is now deprecated.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- luna_park (0.11.6)
4
+ luna_park (0.12.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -69,6 +69,29 @@ GEM
69
69
  multipart-post (>= 1.2, < 3)
70
70
  ruby2_keywords
71
71
  faraday-net_http (1.0.1)
72
+ ffi (1.15.5)
73
+ formatador (1.1.0)
74
+ guard (2.18.0)
75
+ formatador (>= 0.2.4)
76
+ listen (>= 2.7, < 4.0)
77
+ lumberjack (>= 1.0.12, < 2.0)
78
+ nenv (~> 0.1)
79
+ notiffany (~> 0.0)
80
+ pry (>= 0.13.0)
81
+ shellany (~> 0.0)
82
+ thor (>= 0.18.1)
83
+ guard-bundler (3.0.1)
84
+ bundler (>= 2.1, < 3)
85
+ guard (~> 2.2)
86
+ guard-compat (~> 1.1)
87
+ guard-compat (1.2.1)
88
+ guard-rspec (4.7.3)
89
+ guard (~> 2.1)
90
+ guard-compat (~> 1.1)
91
+ rspec (>= 2.99.0, < 4.0)
92
+ guard-rubocop (1.5.0)
93
+ guard (~> 2.0)
94
+ rubocop (< 2.0)
72
95
  hashdiff (1.0.1)
73
96
  http-accept (1.7.0)
74
97
  http-cookie (1.0.3)
@@ -77,12 +100,20 @@ GEM
77
100
  concurrent-ruby (~> 1.0)
78
101
  iniparse (1.5.0)
79
102
  json (2.3.1)
103
+ listen (3.8.0)
104
+ rb-fsevent (~> 0.10, >= 0.10.3)
105
+ rb-inotify (~> 0.9, >= 0.9.10)
106
+ lumberjack (1.2.8)
80
107
  method_source (1.0.0)
81
108
  mime-types (3.3.1)
82
109
  mime-types-data (~> 3.2015)
83
110
  mime-types-data (3.2020.0512)
84
111
  multipart-post (2.1.1)
112
+ nenv (0.3.0)
85
113
  netrc (0.11.0)
114
+ notiffany (0.1.3)
115
+ nenv (~> 0.1)
116
+ shellany (~> 0.0)
86
117
  overcommit (0.55.0)
87
118
  childprocess (>= 0.6.3, < 5)
88
119
  iniparse (~> 1.4)
@@ -98,6 +129,9 @@ GEM
98
129
  public_suffix (4.0.6)
99
130
  rainbow (3.0.0)
100
131
  rake (13.0.1)
132
+ rb-fsevent (0.11.2)
133
+ rb-inotify (0.10.1)
134
+ ffi (~> 1.0)
101
135
  regexp_parser (1.7.1)
102
136
  rest-client (2.1.0)
103
137
  http-accept (>= 1.7.0, < 2.0)
@@ -139,10 +173,12 @@ GEM
139
173
  sentry-ruby-core (4.2.1)
140
174
  concurrent-ruby
141
175
  faraday
176
+ shellany (0.0.1)
142
177
  simplecov (0.18.5)
143
178
  docile (~> 1.1)
144
179
  simplecov-html (~> 0.11)
145
180
  simplecov-html (0.12.2)
181
+ thor (1.2.1)
146
182
  timecop (0.9.1)
147
183
  unf (0.1.4)
148
184
  unf_ext
@@ -163,6 +199,10 @@ DEPENDENCIES
163
199
  byebug (~> 11.1)
164
200
  codecov (~> 0.2)
165
201
  dry-validation (~> 1.1)
202
+ guard
203
+ guard-bundler
204
+ guard-rspec
205
+ guard-rubocop
166
206
  i18n (~> 1.8)
167
207
  luna_park!
168
208
  overcommit (~> 0.55)
data/Guardfile ADDED
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ ignore(/
4
+ bin | public | node_modules | tmp | .git
5
+ /x)
6
+
7
+ guard :bundler do
8
+ watch('Gemfile')
9
+ watch('Gemfile.lock')
10
+ end
11
+
12
+ group :specs, halt_on_fail: true do
13
+ guard :rspec,
14
+ cmd: 'bundle exec rspec --color --format documentation',
15
+ all_after_pass: false,
16
+ all_on_start: false,
17
+ failed_mode: :keep do
18
+ require 'guard/rspec/dsl'
19
+ dsl = Guard::RSpec::Dsl.new(self)
20
+
21
+ # Feel free to open issues for suggestions and improvements
22
+
23
+ # RSpec files
24
+ rspec = dsl.rspec
25
+ watch(rspec.spec_helper) { rspec.spec_dir }
26
+ watch(rspec.spec_support) { rspec.spec_dir }
27
+ watch(rspec.spec_files)
28
+
29
+ # Ruby files
30
+ ruby = dsl.ruby
31
+ dsl.watch_spec_files_for(ruby.lib_files)
32
+
33
+ watch(%r{^config/(.+)\.rb$})
34
+
35
+ watch(%r{^spec/factories/(.+)\.rb$})
36
+ end
37
+
38
+ guard :rubocop, all_on_start: false, keep_failed: false do
39
+ watch(/.+\.rb$/)
40
+ watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
41
+ end
42
+ end
@@ -113,6 +113,13 @@ module LunaPark
113
113
  # @return Hash
114
114
  attr_reader :cookies
115
115
 
116
+ # Exception of failed request
117
+ # Can be raised after call (without bang)
118
+ # Will be raised after call! (with bang)
119
+ #
120
+ # @return LunaPark::Errors::Http
121
+ attr_reader :exception
122
+
116
123
  # The request that actually initializes the current response
117
124
  #
118
125
  # @example
@@ -344,7 +351,7 @@ module LunaPark
344
351
  end
345
352
 
346
353
  # @example
347
- # request.to_h # => {
354
+ # response.to_h # => {
348
355
  # :code=>200,
349
356
  # :body=>"John Doe, Marry Ann",
350
357
  # :headers=>{}, :cookies=>{},
@@ -62,7 +62,7 @@ module LunaPark
62
62
  # @return [LunaPark::Http::Response]
63
63
  def call!
64
64
  call.tap do |response|
65
- raise Errors::Http.new(response.status, response: response) unless response.success?
65
+ raise response.exception unless response.exception.nil?
66
66
  end
67
67
  end
68
68
 
@@ -82,7 +82,7 @@ module LunaPark
82
82
  end
83
83
 
84
84
  def build_original_response(rest_response)
85
- Response.new(
85
+ build_response(
86
86
  body: rest_response&.body,
87
87
  code: rest_response&.code || 0,
88
88
  headers: rest_response&.headers,
@@ -92,11 +92,20 @@ module LunaPark
92
92
  end
93
93
 
94
94
  def build_timeout_response
95
- Response.new(code: 408, request: original_request)
95
+ build_response code: 408, request: original_request
96
96
  end
97
97
 
98
+ # ! 503 != ECONNREFUSED (https://www.rfc-editor.org/rfc/rfc7231#section-6.6.4)
98
99
  def build_unavailable_response
99
- Response.new(code: 503, request: original_request)
100
+ build_response code: 503, request: original_request
101
+ end
102
+
103
+ def build_response(code:, request:, **opts)
104
+ Response
105
+ .new(code: code, request: request, **opts)
106
+ .tap do |response|
107
+ response.exception = Errors::Http.new(response.status, response: response) unless response.success?
108
+ end
100
109
  end
101
110
  end
102
111
  end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: false
2
+
3
+ require 'luna_park/values/compound'
4
+
5
+ module LunaPark
6
+ module Notifiers
7
+ module TaggedLog
8
+ class Options < LunaPark::Values::Compound
9
+ attr_reader :default_tag, :app, :app_env, :instance, :min_lvl
10
+
11
+ def initialize(attrs = {})
12
+ logger_conf_error if config_incorrect?(attrs)
13
+ set_attributes attrs
14
+ end
15
+
16
+ # @param [Notifiers::Log::Options, Hash] other
17
+ # @return [Notifiers::Log::Options]
18
+ def merge!(other)
19
+ other = self.class.wrap(other)
20
+
21
+ self.default_tag ||= other.default_tag
22
+ self.app ||= other.app
23
+ self.app_env ||= other.app_env
24
+ self.instance ||= other.instance
25
+ self.min_lvl ||= other.min_lvl
26
+
27
+ self
28
+ end
29
+
30
+ def merge(other)
31
+ dup.merge!(other)
32
+ end
33
+
34
+ def to_h
35
+ {
36
+ default_tag: default_tag,
37
+ app: app,
38
+ app_env: app_env,
39
+ instance: instance,
40
+ min_lvl: min_lvl
41
+ }
42
+ end
43
+
44
+ private
45
+
46
+ def config_incorrect?(attrs)
47
+ return true if attrs.empty?
48
+
49
+ !%i[default_tag app app_env instance min_lvl].all? do |required_key|
50
+ attrs.keys.include?(required_key)
51
+ end
52
+ end
53
+
54
+ def logger_conf_error
55
+ raise ArgumentError, 'TaggedLog not properly configured'
56
+ end
57
+
58
+ def default_tag=(val)
59
+ logger_conf_error if val.nil? || val.empty?
60
+ logger_conf_error unless val.is_a?(String) || val.is_a?(Symbol)
61
+ @default_tag = val
62
+ end
63
+
64
+ def app=(val)
65
+ logger_conf_error if val.nil? || val.empty? || !val.is_a?(String)
66
+ @app = val
67
+ end
68
+
69
+ def app_env=(val)
70
+ logger_conf_error if val.nil? || val.empty? || !val.is_a?(String)
71
+ @app_env = val
72
+ end
73
+
74
+ def instance=(val)
75
+ logger_conf_error if val.nil? || val.empty? || !val.is_a?(String)
76
+ @instance = val
77
+ end
78
+
79
+ def min_lvl=(val)
80
+ logger_conf_error if val.nil? || val.empty?
81
+ logger_conf_error unless val.is_a?(String) || val.is_a?(Symbol)
82
+ @min_lvl = val.to_sym
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: false
2
+
3
+ require 'json'
4
+
5
+ module LunaPark
6
+ module Notifiers
7
+ module TaggedLog
8
+ class TaggedFormatter < Logger::Formatter
9
+ attr_accessor :config
10
+
11
+ def call(severity, timestamp, _, msg, tags = nil)
12
+ payload = common_payload(severity, timestamp, tags)
13
+ .merge(msg_payload(msg[:original_msg]))
14
+
15
+ deep_merge!(payload, details_payload(msg[:details]))
16
+
17
+ ::JSON.generate(payload) << "\n"
18
+ end
19
+
20
+ private
21
+
22
+ def details_payload(hash)
23
+ details = hash.delete(:details)
24
+ payload = { details: hash }
25
+ deep_merge!(payload, { details: details }) unless details.nil?
26
+ payload
27
+ end
28
+
29
+ def common_payload(severity, timestamp, tags)
30
+ {
31
+ tags: [@config.default_tag, tags].join(' ').strip,
32
+ app: @config.app,
33
+ app_env: @config.app_env,
34
+ instance: @config.instance,
35
+ created_at: timestamp.iso8601(3),
36
+ ok: !%w[FATAL ERROR].include?(severity)
37
+ }
38
+ end
39
+
40
+ def msg_payload(msg)
41
+ case msg
42
+ when ::Exception
43
+ error_payload(msg)
44
+ when Hash
45
+ hash_payload(msg)
46
+ else
47
+ { details: { message: try_to_json(msg) } }
48
+ end
49
+ end
50
+
51
+ def error_payload(e)
52
+ error_hash = {
53
+ class: e.class,
54
+ message: e.message
55
+ }
56
+ error_hash.merge!(backtrace: "\n" + e.backtrace.join("\n") + "\n") if e.backtrace
57
+ payload = {
58
+ error: error_hash,
59
+ ok: false
60
+ }
61
+ payload.merge!(details: e.details) if e.respond_to?(:details)
62
+ payload
63
+ end
64
+
65
+ def hash_payload(msg)
66
+ details = msg.delete(:details)
67
+ payload = { details: msg }
68
+ deep_merge!(payload, { details: details }) unless details.nil?
69
+ payload
70
+ end
71
+
72
+ def try_to_json(str)
73
+ ::JSON.parse(str)
74
+ rescue ::JSON::ParserError
75
+ str
76
+ end
77
+
78
+ def deep_merge!(hash, other_hash)
79
+ hash.merge!(other_hash) do |_, this_val, other_val|
80
+ if this_val.is_a?(Hash) && other_val.is_a?(Hash)
81
+ deep_merge!(this_val, other_val)
82
+ else
83
+ other_val
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: false
2
+
3
+ require 'logger'
4
+ require 'forwardable'
5
+ require 'luna_park/extensions/severity_levels'
6
+ require 'luna_park/notifiers/tagged_log/options'
7
+ require 'luna_park/notifiers/tagged_log/tagged_formatter'
8
+
9
+ module LunaPark
10
+ module Notifiers
11
+ module TaggedLog
12
+ include Extensions::SeverityLevels
13
+ extend Forwardable
14
+
15
+ SEVERITY_LEVELS = {
16
+ unknown: Logger::Severity::UNKNOWN,
17
+ fatal: Logger::Severity::FATAL,
18
+ error: Logger::Severity::ERROR,
19
+ warning: Logger::Severity::WARN,
20
+ info: Logger::Severity::INFO,
21
+ debug: Logger::Severity::DEBUG
22
+ }.freeze
23
+
24
+ private_constant :SEVERITY_LEVELS
25
+
26
+ def_delegators :formatter, :push_tags, :clear_tags!
27
+ attr_accessor :output
28
+
29
+ module Formatter
30
+ def call(severity, timestamp, progname, msg)
31
+ super(severity, timestamp, progname, msg, tags_text)
32
+ end
33
+
34
+ def tagged(*tags)
35
+ new_tags = push_tags(*tags)
36
+ yield self
37
+ ensure
38
+ pop_tags(new_tags.size)
39
+ end
40
+
41
+ def push_tags(*tags)
42
+ tags.flatten!
43
+ tags.reject! { |t| t.respond_to?(:empty?) ? !!t.empty? : !t }
44
+ current_tags.concat tags
45
+ tags
46
+ end
47
+
48
+ def pop_tags(size = 1)
49
+ current_tags.pop(size)
50
+ end
51
+
52
+ def clear_tags!
53
+ current_tags.clear
54
+ end
55
+
56
+ def current_tags
57
+ thread_key = @thread_key ||= "tagged_log_tag_store_tags:#{object_id}"
58
+ Thread.current[thread_key] ||= []
59
+ end
60
+
61
+ def tags_text
62
+ current_tags.join(' ').strip
63
+ end
64
+ end
65
+
66
+ def tagged(*tags)
67
+ if block_given?
68
+ formatter.tagged(*tags) { yield self }
69
+ else
70
+ logger = LunaPark::Notifiers::TaggedLog.new(
71
+ output, **formatter.config.to_h
72
+ )
73
+ logger.push_tags(*formatter.current_tags, *tags)
74
+ logger
75
+ end
76
+ end
77
+
78
+ def post(msg, lvl: :error, **details)
79
+ severity = severity(lvl)
80
+ message = { original_msg: msg, details: details }
81
+ add severity, message
82
+ end
83
+
84
+ def severity(lvl)
85
+ severity = SEVERITY_LEVELS[lvl]
86
+ raise ArgumentError, "Unknown level #{lvl}" if severity.nil?
87
+
88
+ severity
89
+ end
90
+
91
+ def self.new(output = $stdout, **options)
92
+ config = LunaPark::Notifiers::TaggedLog::Options.wrap(options)
93
+
94
+ logger = Logger.new(output)
95
+ logger.formatter = LunaPark::Notifiers::TaggedLog::TaggedFormatter.new
96
+ logger.formatter.config = config
97
+ logger.formatter.extend(Formatter)
98
+ logger.extend(self)
99
+ logger.output = output
100
+ logger.min_lvl = config.min_lvl
101
+ logger
102
+ end
103
+ end
104
+ end
105
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LunaPark
4
- VERSION = '0.11.7'
4
+ VERSION = '0.12.0'
5
5
  end
data/luna_park.gemspec CHANGED
@@ -39,6 +39,10 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency 'byebug', '~> 11.1'
40
40
  spec.add_development_dependency 'codecov', '~> 0.2'
41
41
  spec.add_development_dependency 'dry-validation', '~> 1.1'
42
+ spec.add_development_dependency 'guard'
43
+ spec.add_development_dependency 'guard-bundler'
44
+ spec.add_development_dependency 'guard-rspec'
45
+ spec.add_development_dependency 'guard-rubocop'
42
46
  spec.add_development_dependency 'i18n', '~> 1.8'
43
47
  spec.add_development_dependency 'overcommit', '~> 0.55'
44
48
  spec.add_development_dependency 'pry', '~> 0.13'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luna_park
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.7
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kudrin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-11-18 00:00:00.000000000 Z
12
+ date: 2023-02-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bugsnag
@@ -81,6 +81,62 @@ dependencies:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.1'
84
+ - !ruby/object:Gem::Dependency
85
+ name: guard
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: guard-bundler
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: guard-rspec
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: guard-rubocop
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
84
140
  - !ruby/object:Gem::Dependency
85
141
  name: i18n
86
142
  requirement: !ruby/object:Gem::Requirement
@@ -270,7 +326,6 @@ executables: []
270
326
  extensions: []
271
327
  extra_rdoc_files: []
272
328
  files:
273
- - ".github/gem-push.yml"
274
329
  - ".github/workflows/gem-push.yml"
275
330
  - ".gitignore"
276
331
  - ".overcommit.yml"
@@ -282,6 +337,7 @@ files:
282
337
  - CHANGELOG.md
283
338
  - Gemfile
284
339
  - Gemfile.lock
340
+ - Guardfile
285
341
  - LICENSE
286
342
  - LICENSE.txt
287
343
  - README.md
@@ -377,6 +433,9 @@ files:
377
433
  - lib/luna_park/notifiers/log.rb
378
434
  - lib/luna_park/notifiers/log/formatters.rb
379
435
  - lib/luna_park/notifiers/sentry.rb
436
+ - lib/luna_park/notifiers/tagged_log.rb
437
+ - lib/luna_park/notifiers/tagged_log/options.rb
438
+ - lib/luna_park/notifiers/tagged_log/tagged_formatter.rb
380
439
  - lib/luna_park/repositories/postgres.rb
381
440
  - lib/luna_park/repositories/sequel.rb
382
441
  - lib/luna_park/repository.rb
data/.github/gem-push.yml DELETED
@@ -1,43 +0,0 @@
1
- name: Ruby Gem
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
-
7
- jobs:
8
- build:
9
- name: Build + Publish
10
- runs-on: ubuntu-latest
11
- permissions:
12
- contents: read
13
- packages: write
14
-
15
- steps:
16
- - uses: actions/checkout@v2
17
- - name: Set up Ruby 2.6
18
- uses: actions/setup-ruby@v1
19
- with:
20
- ruby-version: 2.5.x
21
-
22
- - name: Publish to GPR
23
- run: |
24
- mkdir -p $HOME/.gem
25
- touch $HOME/.gem/credentials
26
- chmod 0600 $HOME/.gem/credentials
27
- printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
28
- gem build *.gemspec
29
- gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
30
- env:
31
- GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
32
- OWNER: ${{ github.repository_owner }}
33
-
34
- - name: Publish to RubyGems
35
- run: |
36
- mkdir -p $HOME/.gem
37
- touch $HOME/.gem/credentials
38
- chmod 0600 $HOME/.gem/credentials
39
- printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
40
- gem build *.gemspec
41
- gem push *.gem
42
- env:
43
- GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"