yabeda-puma-plugin 0.4.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ec5a12b14554eb6e0a7b62d76ab1360501f600348c71e779005a4bca8624a3d
4
- data.tar.gz: 9be1f9b5b0f6d7516848673d7a2e49e1ab18282d1c7ae1c1dbd79612d0befa5c
3
+ metadata.gz: ea655ec09c4edd3459d19356df62760dbb70049b24a0e5ccfb69eed7d501ec7d
4
+ data.tar.gz: 49cab44b0913f02a372473b3e8951a6c880020f3a22970c6f9cdadee7d3935ae
5
5
  SHA512:
6
- metadata.gz: 250d92d5d1fb71f8a9b5d04d07e2ce33e5cad0cb61428c2f728b22df567d13c87959e4e0f3add1aefd1bf29112d2e2686edb4a0cae2f857e988b716a48579060
7
- data.tar.gz: 5b637cd1c1c3cc0ae935beaf9c0bc05a65053bc3aec696f09e2b3920c0164cdaac3692a100a8c4a8d944399174317576feabddfde2179446ab7db3b25d32b4b2
6
+ metadata.gz: d68acb875bb1d793d0bf6c11f1df91313ec730bcf9984f362829586bdb7810e21b809c60980cf606feec93378957b218d046bb30ced55858f8cc704c3b073380
7
+ data.tar.gz: e8e0c33afd4c639ef3abb25485bf2fb9a3598a288d07033ad64ebffd354335f17558aef856afc18d439fb03cf0c767026c9e348b31de6d1ff1cc91a653ca1c7e
@@ -0,0 +1,54 @@
1
+ name: Build and release gem to RubyGems
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - v*
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ with:
14
+ fetch-depth: 0 # Fetch current tag as annotated. See https://github.com/actions/checkout/issues/290
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: 2.7
18
+ - name: "Extract data from tag: version, message, body"
19
+ id: tag
20
+ run: |
21
+ git fetch --tags --force # Really fetch annotated tag. See https://github.com/actions/checkout/issues/290#issuecomment-680260080
22
+ echo ::set-output name=version::${GITHUB_REF#refs/tags/v}
23
+ echo ::set-output name=subject::$(git for-each-ref $GITHUB_REF --format='%(contents:subject)')
24
+ # Multiline body for release. See https://github.community/t/set-output-truncates-multiline-strings/16852/5
25
+ BODY="$(git for-each-ref $GITHUB_REF --format='%(contents:body)')"
26
+ BODY="${BODY//'%'/'%25'}"
27
+ BODY="${BODY//$'\n'/'%0A'}"
28
+ BODY="${BODY//$'\r'/'%0D'}"
29
+ echo "::set-output name=body::$BODY"
30
+ - name: Build gem
31
+ run: gem build
32
+ - name: Check version
33
+ run: ls yabeda-puma-plugin-${{ steps.tag.outputs.version }}.gem
34
+ - name: Create Release
35
+ id: create_release
36
+ uses: actions/create-release@v1
37
+ env:
38
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39
+ with:
40
+ tag_name: ${{ github.ref }}
41
+ release_name: ${{ steps.tag.outputs.subject }}
42
+ body: ${{ steps.tag.outputs.body }}
43
+ draft: false
44
+ prerelease: false
45
+ - name: Upload Release Asset
46
+ id: upload-release-asset
47
+ uses: actions/upload-release-asset@v1
48
+ env:
49
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50
+ with:
51
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
52
+ asset_path: yabeda-puma-plugin-${{ steps.tag.outputs.version }}.gem
53
+ asset_name: yabeda-puma-plugin-${{ steps.tag.outputs.version }}.gem
54
+ asset_content_type: application/x-tar
@@ -0,0 +1,44 @@
1
+ name: Run tests
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - '**'
8
+ tags-ignore:
9
+ - 'v*'
10
+
11
+ jobs:
12
+ test:
13
+ name: "Run tests"
14
+ if: "! contains(toJSON(github.event.commits.latest.message), '[ci skip]')"
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ include:
20
+ - ruby: 2.7
21
+ - ruby: 2.6
22
+ - ruby: 2.5
23
+ container:
24
+ image: ruby:${{ matrix.ruby }}
25
+ env:
26
+ CI: true
27
+ steps:
28
+ - uses: actions/checkout@v2
29
+ - uses: actions/cache@v2
30
+ with:
31
+ path: vendor/bundle
32
+ key: bundle-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}-${{ hashFiles('**/Gemfile') }}
33
+ restore-keys: |
34
+ bundle-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}-${{ hashFiles('**/Gemfile') }}
35
+ bundle-${{ matrix.ruby }}-
36
+ - name: Upgrade Bundler to 2.0 (for older Rubies)
37
+ run: gem install bundler -v '~> 2.0'
38
+ - name: Bundle install
39
+ run: |
40
+ bundle config path vendor/bundle
41
+ bundle install
42
+ bundle update
43
+ - name: Run RSpec
44
+ run: bundle exec rspec
@@ -27,21 +27,23 @@ Puma::Plugin.create do
27
27
  port = Integer(ENV.fetch('PROMETHEUS_EXPORTER_PORT', uri.port))
28
28
  path = ENV.fetch('PROMETHEUS_EXPORTER_PATH', uri.path)
29
29
 
30
- app = Yabeda::Prometheus::Exporter.rack_app(Yabeda::Prometheus::Exporter, path: path)
30
+ events.on_booted do
31
+ app = Yabeda::Prometheus::Exporter.rack_app(Yabeda::Prometheus::Exporter, path: path)
31
32
 
32
- metrics = Puma::Server.new app, events
33
- metrics.min_threads = 0
34
- metrics.max_threads = 1
33
+ metrics = Puma::Server.new app, events
34
+ metrics.min_threads = 0
35
+ metrics.max_threads = 1
35
36
 
36
- events.log "Starting Yabeda Prometheus metrics exporter on http://#{host}:#{port}#{path}"
37
- metrics.add_tcp_listener host, port
37
+ events.log "* Starting Yabeda Prometheus metrics exporter on http://#{host}:#{port}#{path}"
38
+ metrics.add_tcp_listener host, port
38
39
 
39
- events.register(:state) do |state|
40
- if %i[halt restart stop].include?(state)
41
- metrics.stop(true) unless metrics.shutting_down?
40
+ events.register(:state) do |state|
41
+ if %i[halt restart stop].include?(state)
42
+ metrics.stop(true) unless metrics.shutting_down?
43
+ end
42
44
  end
43
- end
44
45
 
45
- metrics.run
46
+ metrics.run
47
+ end
46
48
  end
47
49
  end
@@ -1,7 +1,7 @@
1
1
  module Yabeda
2
2
  module Puma
3
3
  module Plugin
4
- VERSION = "0.4.0"
4
+ VERSION = "0.5.0"
5
5
  end
6
6
  end
7
7
  end
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency "json"
27
27
 
28
28
  spec.add_development_dependency "bundler"
29
- spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "rake", "~> 13.0"
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
31
  spec.add_development_dependency "rack"
32
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yabeda-puma-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salahutdinov Dmitry
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-29 00:00:00.000000000 Z
11
+ date: 2020-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yabeda
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -115,9 +115,10 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
+ - ".github/workflows/build-release.yml"
119
+ - ".github/workflows/test.yml"
118
120
  - ".gitignore"
119
121
  - ".rspec"
120
- - ".travis.yml"
121
122
  - Gemfile
122
123
  - LICENSE
123
124
  - LICENSE.txt
@@ -155,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
156
  - !ruby/object:Gem::Version
156
157
  version: '0'
157
158
  requirements: []
158
- rubygems_version: 3.0.3
159
+ rubygems_version: 3.1.4
159
160
  signing_key:
160
161
  specification_version: 4
161
162
  summary: Puma web server plugin for collecting puma metrics with Yabeda framework.
@@ -1,9 +0,0 @@
1
- sudo: require
2
- services:
3
- - docker
4
-
5
- before_script:
6
- - unset BUNDLE_GEMFILE
7
- - docker-compose run app bundle install
8
- script:
9
- - docker-compose run app bundle exec rspec