solarwinds_apm 5.1.3 → 5.1.4
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/.gitignore +9 -2
- data/CHANGELOG.md +14 -0
- data/README.md +4 -2
- data/ext/oboe_metal/extconf.rb +18 -5
- data/ext/oboe_metal/lib/liboboe-1.0-aarch64.so.0.0.0.sha256 +1 -0
- data/ext/oboe_metal/lib/liboboe-1.0-alpine-aarch64.so.0.0.0.sha256 +1 -0
- data/ext/oboe_metal/lib/liboboe-1.0-alpine-x86_64.so.0.0.0.sha256 +1 -1
- data/ext/oboe_metal/lib/liboboe-1.0-x86_64.so.0.0.0.sha256 +1 -1
- data/ext/oboe_metal/src/VERSION +1 -1
- data/lib/solarwinds_apm/inst/redis.rb +36 -29
- data/lib/solarwinds_apm/inst/redis_v4.rb +273 -0
- data/lib/solarwinds_apm/util.rb +116 -42
- data/lib/solarwinds_apm/version.rb +1 -1
- data/solarwinds_apm.gemspec +4 -2
- metadata +5 -13
- data/.github/CODEOWNERS +0 -1
- data/.github/ISSUE_TEMPLATE/bug-or-feature-request.md +0 -16
- data/.github/workflows/build_and_release_gem.yml +0 -108
- data/.github/workflows/build_for_packagecloud.yml +0 -59
- data/.github/workflows/docker-images.yml +0 -53
- data/.github/workflows/run_cpluplus_tests.yml +0 -73
- data/.github/workflows/run_tests.yml +0 -154
- data/.github/workflows/scripts/test_install.rb +0 -28
- data/.github/workflows/swig/swig-v4.0.2.tar.gz +0 -0
- data/.github/workflows/test_on_4_linux.yml +0 -109
- data/.github/workflows/test_on_ubuntu.yml +0 -107
data/lib/solarwinds_apm/util.rb
CHANGED
|
@@ -265,57 +265,66 @@ module SolarWindsAPM
|
|
|
265
265
|
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
|
|
266
266
|
|
|
267
267
|
##
|
|
268
|
-
#
|
|
268
|
+
# build_legacy_ao_init_report
|
|
269
269
|
#
|
|
270
270
|
# Internal: Build a hash of KVs that reports on the status of the
|
|
271
271
|
# running environment. This is used on stack boot in __Init reporting
|
|
272
272
|
# and for SolarWindsAPM.support_report.
|
|
273
|
+
# On 2023-01-12, this is no longer used in new SWO endpoints
|
|
273
274
|
#
|
|
274
275
|
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
|
|
275
|
-
def
|
|
276
|
+
def build_legacy_ao_init_report
|
|
276
277
|
platform_info = { '__Init' => 1 }
|
|
277
|
-
|
|
278
278
|
begin
|
|
279
|
-
platform_info['Force']
|
|
280
|
-
platform_info['Ruby.Platform.Version']
|
|
281
|
-
platform_info['Ruby.Version']
|
|
282
|
-
platform_info['Ruby.SolarWindsAPM.Version']
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
platform_info
|
|
287
|
-
platform_info
|
|
288
|
-
platform_info['Ruby.TraceMode.Version'] = SolarWindsAPM::Config[:tracing_mode]
|
|
289
|
-
|
|
290
|
-
# Collect up the loaded gems
|
|
291
|
-
if defined?(Gem) && Gem.respond_to?(:loaded_specs)
|
|
292
|
-
Gem.loaded_specs.each_pair { |k, v|
|
|
293
|
-
platform_info["Ruby.#{k}.Version"] = v.version.to_s
|
|
294
|
-
}
|
|
295
|
-
else
|
|
296
|
-
platform_info.merge!(legacy_build_init_report)
|
|
297
|
-
end
|
|
279
|
+
platform_info['Force'] = true
|
|
280
|
+
platform_info['Ruby.Platform.Version'] = RUBY_PLATFORM
|
|
281
|
+
platform_info['Ruby.Version'] = RUBY_VERSION
|
|
282
|
+
platform_info['Ruby.SolarWindsAPM.Version'] = SolarWindsAPM::Version::STRING
|
|
283
|
+
platform_info['Ruby.SolarWindsAPMExtension.Version'] = get_extension_lib_version
|
|
284
|
+
platform_info['RubyHeroku.SolarWindsAPM.Version'] = SolarWindsAPMHeroku::Version::STRING if defined?(SolarWindsAPMHeroku)
|
|
285
|
+
platform_info['Ruby.TraceMode.Version'] = SolarWindsAPM::Config[:tracing_mode]
|
|
286
|
+
platform_info.merge!(report_gem_in_use)
|
|
287
|
+
platform_info.merge!(report_server_in_use)
|
|
298
288
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
289
|
+
rescue StandardError, ScriptError => e
|
|
290
|
+
platform_info['Error'] = "Error in build_report: #{e.message}"
|
|
291
|
+
SolarWindsAPM.logger.warn "[solarwinds_apm/warn] Error in build_init_report: #{e.message}"
|
|
292
|
+
SolarWindsAPM.logger.debug e.backtrace
|
|
293
|
+
end
|
|
294
|
+
platform_info
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
##
|
|
298
|
+
# build_swo_init_report
|
|
299
|
+
#
|
|
300
|
+
# Internal: Build a hash of KVs that reports on the status of the
|
|
301
|
+
# running environment for swo only. This is used on stack boot in __Init reporting
|
|
302
|
+
# and for SolarWindsAPM.support_report.
|
|
303
|
+
#
|
|
304
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
|
|
305
|
+
def build_init_report
|
|
306
|
+
|
|
307
|
+
platform_info = { '__Init' => true }
|
|
308
|
+
|
|
309
|
+
begin
|
|
310
|
+
platform_info['APM.Version'] = SolarWindsAPM::Version::STRING
|
|
311
|
+
platform_info['APM.Extension.Version'] = get_extension_lib_version
|
|
312
|
+
|
|
313
|
+
platform_info['process.pid'] = Process.pid
|
|
314
|
+
platform_info['process.command'] = $PROGRAM_NAME
|
|
315
|
+
platform_info['process.runtime.name'] = RUBY_ENGINE
|
|
316
|
+
platform_info['process.runtime.version'] = RUBY_VERSION
|
|
317
|
+
platform_info['process.runtime.description'] = RUBY_DESCRIPTION
|
|
318
|
+
platform_info['telemetry.sdk.language'] = 'ruby'
|
|
319
|
+
|
|
320
|
+
# Resource Attributes (Optional)
|
|
321
|
+
platform_info['process.executable.path'] = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']).sub(/.*\s.*/m, '"\&"')
|
|
322
|
+
platform_info['process.executable.name'] = RbConfig::CONFIG['ruby_install_name']
|
|
323
|
+
platform_info['process.command_line'] = $PROGRAM_NAME
|
|
324
|
+
platform_info['process.telemetry.path'] = Gem::Specification.find_by_name('solarwinds_apm')&.full_gem_path
|
|
325
|
+
platform_info['os.type'] = RUBY_PLATFORM
|
|
326
|
+
|
|
327
|
+
platform_info.merge!(report_gem_in_use)
|
|
319
328
|
|
|
320
329
|
rescue StandardError, ScriptError => e
|
|
321
330
|
# Also rescue ScriptError (aka SyntaxError) in case one of the expected
|
|
@@ -329,6 +338,71 @@ module SolarWindsAPM
|
|
|
329
338
|
platform_info
|
|
330
339
|
end
|
|
331
340
|
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
|
|
341
|
+
|
|
342
|
+
private
|
|
343
|
+
|
|
344
|
+
##
|
|
345
|
+
# Collect up the loaded gems
|
|
346
|
+
##
|
|
347
|
+
def report_gem_in_use
|
|
348
|
+
platform_info = {}
|
|
349
|
+
if defined?(Gem) && Gem.respond_to?(:loaded_specs)
|
|
350
|
+
Gem.loaded_specs.each_pair { |k, v|
|
|
351
|
+
platform_info["Ruby.#{k}.Version"] = v.version.to_s
|
|
352
|
+
}
|
|
353
|
+
else
|
|
354
|
+
platform_info.merge!(legacy_build_init_report)
|
|
355
|
+
end
|
|
356
|
+
platform_info
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
##
|
|
360
|
+
# get extension library version by looking at the VERSION file
|
|
361
|
+
# oboe not loaded yet, can't use oboe_api function to read oboe VERSION
|
|
362
|
+
##
|
|
363
|
+
def get_extension_lib_version
|
|
364
|
+
version = '0.0.0'
|
|
365
|
+
begin
|
|
366
|
+
gem_location = Gem::Specification.find_by_name('solarwinds_apm')
|
|
367
|
+
clib_version_file = File.join(gem_location&.gem_dir, 'ext', 'oboe_metal', 'src', 'VERSION')
|
|
368
|
+
version = File.read(clib_version_file).strip
|
|
369
|
+
rescue
|
|
370
|
+
SolarWindsAPM.logger.warn "[solarwinds_apm/warn] Error in build_init_report: couldn't find installed solarwinds_apm gem #{e.message}"
|
|
371
|
+
end
|
|
372
|
+
version
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
##
|
|
376
|
+
# build_init_report
|
|
377
|
+
#
|
|
378
|
+
# Internal: Build a hash of KVs that reports on the server in use
|
|
379
|
+
##
|
|
380
|
+
def report_server_in_use
|
|
381
|
+
platform_info = {}
|
|
382
|
+
# Report the server in use (if possible)
|
|
383
|
+
if defined?(::Unicorn::Const::UNICORN_VERSION)
|
|
384
|
+
platform_info['Ruby.AppContainer.Version'] = "Unicorn-#{::Unicorn::Const::UNICORN_VERSION}"
|
|
385
|
+
elsif defined?(::Puma::Const::PUMA_VERSION)
|
|
386
|
+
platform_info['Ruby.AppContainer.Version'] = "Puma-#{::Puma::Const::PUMA_VERSION} (#{::Puma::Const::CODE_NAME})"
|
|
387
|
+
elsif defined?(::PhusionPassenger::PACKAGE_NAME)
|
|
388
|
+
platform_info['Ruby.AppContainer.Version'] = "#{::PhusionPassenger::PACKAGE_NAME}-#{::PhusionPassenger::VERSION_STRING}"
|
|
389
|
+
elsif defined?(::Thin::VERSION::STRING)
|
|
390
|
+
platform_info['Ruby.AppContainer.Version'] = "Thin-#{::Thin::VERSION::STRING} (#{::Thin::VERSION::CODENAME})"
|
|
391
|
+
elsif defined?(::Mongrel::Const::MONGREL_VERSION)
|
|
392
|
+
platform_info['Ruby.AppContainer.Version'] = "Mongrel-#{::Mongrel::Const::MONGREL_VERSION}"
|
|
393
|
+
elsif defined?(::Mongrel2::VERSION)
|
|
394
|
+
platform_info['Ruby.AppContainer.Version'] = "Mongrel2-#{::Mongrel2::VERSION}"
|
|
395
|
+
elsif defined?(::Trinidad::VERSION)
|
|
396
|
+
platform_info['Ruby.AppContainer.Version'] = "Trinidad-#{::Trinidad::VERSION}"
|
|
397
|
+
elsif defined?(::WEBrick::VERSION)
|
|
398
|
+
platform_info['Ruby.AppContainer.Version'] = "WEBrick-#{::WEBrick::VERSION}"
|
|
399
|
+
else
|
|
400
|
+
platform_info['Ruby.AppContainer.Version'] = File.basename($PROGRAM_NAME)
|
|
401
|
+
end
|
|
402
|
+
platform_info
|
|
403
|
+
end
|
|
404
|
+
|
|
332
405
|
end
|
|
406
|
+
|
|
333
407
|
end
|
|
334
408
|
end
|
|
@@ -8,7 +8,7 @@ module SolarWindsAPM
|
|
|
8
8
|
module Version
|
|
9
9
|
MAJOR = 5 # breaking,
|
|
10
10
|
MINOR = 1 # feature,
|
|
11
|
-
PATCH =
|
|
11
|
+
PATCH = 4 # fix => BFF
|
|
12
12
|
PRE = nil # for pre-releases into packagecloud, set to nil for production releases into rubygems
|
|
13
13
|
|
|
14
14
|
STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
|
data/solarwinds_apm.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Automatic tracing and metrics for Ruby applications. Get started at cloud.solarw
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
s.extra_rdoc_files = ['LICENSE']
|
|
27
|
-
s.files = `git ls-files`.split("\n").reject { |f| f.match(%r{^(test|gemfiles)/}) }
|
|
27
|
+
s.files = `git ls-files`.split("\n").reject { |f| f.match(%r{^(test|gemfiles|.github)/}) }
|
|
28
28
|
s.files += ['ext/oboe_metal/src/oboe.h',
|
|
29
29
|
'ext/oboe_metal/src/oboe_api.cpp',
|
|
30
30
|
'ext/oboe_metal/src/oboe_api.h',
|
|
@@ -34,7 +34,9 @@ Automatic tracing and metrics for Ruby applications. Get started at cloud.solarw
|
|
|
34
34
|
'ext/oboe_metal/src/bson/platform_hacks.h',
|
|
35
35
|
'ext/oboe_metal/src/VERSION',
|
|
36
36
|
'ext/oboe_metal/lib/liboboe-1.0-alpine-x86_64.so.0.0.0.sha256',
|
|
37
|
-
'ext/oboe_metal/lib/liboboe-1.0-x86_64.so.0.0.0.sha256'
|
|
37
|
+
'ext/oboe_metal/lib/liboboe-1.0-x86_64.so.0.0.0.sha256',
|
|
38
|
+
'ext/oboe_metal/lib/liboboe-1.0-aarch64.so.0.0.0.sha256',
|
|
39
|
+
'ext/oboe_metal/lib/liboboe-1.0-alpine-aarch64.so.0.0.0.sha256'
|
|
38
40
|
]
|
|
39
41
|
s.files += ['lib/solarwinds_apm/cert/star.appoptics.com.issuer.crt']
|
|
40
42
|
s.files -= ['build_gem.sh',
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solarwinds_apm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.1.
|
|
4
|
+
version: 5.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Maia Engeli
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2023-01-23 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: json
|
|
@@ -60,17 +60,6 @@ extra_rdoc_files:
|
|
|
60
60
|
- LICENSE
|
|
61
61
|
files:
|
|
62
62
|
- ".dockerignore"
|
|
63
|
-
- ".github/CODEOWNERS"
|
|
64
|
-
- ".github/ISSUE_TEMPLATE/bug-or-feature-request.md"
|
|
65
|
-
- ".github/workflows/build_and_release_gem.yml"
|
|
66
|
-
- ".github/workflows/build_for_packagecloud.yml"
|
|
67
|
-
- ".github/workflows/docker-images.yml"
|
|
68
|
-
- ".github/workflows/run_cpluplus_tests.yml"
|
|
69
|
-
- ".github/workflows/run_tests.yml"
|
|
70
|
-
- ".github/workflows/scripts/test_install.rb"
|
|
71
|
-
- ".github/workflows/swig/swig-v4.0.2.tar.gz"
|
|
72
|
-
- ".github/workflows/test_on_4_linux.yml"
|
|
73
|
-
- ".github/workflows/test_on_ubuntu.yml"
|
|
74
63
|
- ".gitignore"
|
|
75
64
|
- ".rubocop.yml"
|
|
76
65
|
- ".whitesource"
|
|
@@ -88,6 +77,8 @@ files:
|
|
|
88
77
|
- ext/oboe_metal/extconf.rb
|
|
89
78
|
- ext/oboe_metal/extconf_local.rb
|
|
90
79
|
- ext/oboe_metal/lib/.keep
|
|
80
|
+
- ext/oboe_metal/lib/liboboe-1.0-aarch64.so.0.0.0.sha256
|
|
81
|
+
- ext/oboe_metal/lib/liboboe-1.0-alpine-aarch64.so.0.0.0.sha256
|
|
91
82
|
- ext/oboe_metal/lib/liboboe-1.0-alpine-x86_64.so.0.0.0.sha256
|
|
92
83
|
- ext/oboe_metal/lib/liboboe-1.0-x86_64.so.0.0.0.sha256
|
|
93
84
|
- ext/oboe_metal/noop/noop.c
|
|
@@ -167,6 +158,7 @@ files:
|
|
|
167
158
|
- lib/solarwinds_apm/inst/rack.rb
|
|
168
159
|
- lib/solarwinds_apm/inst/rack_cache.rb
|
|
169
160
|
- lib/solarwinds_apm/inst/redis.rb
|
|
161
|
+
- lib/solarwinds_apm/inst/redis_v4.rb
|
|
170
162
|
- lib/solarwinds_apm/inst/resque.rb
|
|
171
163
|
- lib/solarwinds_apm/inst/rest-client.rb
|
|
172
164
|
- lib/solarwinds_apm/inst/sequel.rb
|
data/.github/CODEOWNERS
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
* @cheempz @xuan-cao-swi @tammy-baylis-swi @solarwindscloud/apm-instrumentation
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Bug or Feature request
|
|
3
|
-
about: general purpose template
|
|
4
|
-
title: "[Bug] or [Feature request]"
|
|
5
|
-
labels: ''
|
|
6
|
-
assignees: ''
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Description
|
|
11
|
-
|
|
12
|
-
# How to reproduce or use case
|
|
13
|
-
|
|
14
|
-
# Code Sample (if available)
|
|
15
|
-
|
|
16
|
-
# OS, Ruby version, Gemfile, Gemfile.lock, log message ... (if relevant)
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2021 SolarWinds, LLC.
|
|
2
|
-
# All rights reserved.
|
|
3
|
-
|
|
4
|
-
name: BUILD, VERIFY, and RELEASE Ruby Gem to RubyGems
|
|
5
|
-
|
|
6
|
-
# This workflow relies on the following secrets
|
|
7
|
-
# - TRACE_BUILD_RUBY_ACTIONS_API_TOKEN (from the trace-build user in github)
|
|
8
|
-
# - RUBYGEMS_TOKEN (from the solarwinds-apm user on rubygems.org)
|
|
9
|
-
# - SW_APM_SERVICE_KEY
|
|
10
|
-
# - SW_APM_COLLECTOR
|
|
11
|
-
#
|
|
12
|
-
# The correct oboe version has to be in the file ext/oboe_metal/src/VERSION
|
|
13
|
-
|
|
14
|
-
on:
|
|
15
|
-
workflow_dispatch:
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
build:
|
|
19
|
-
name: Build + Release Gem to RubyGems
|
|
20
|
-
runs-on: ubuntu-latest
|
|
21
|
-
|
|
22
|
-
steps:
|
|
23
|
-
- uses: actions/checkout@v2
|
|
24
|
-
|
|
25
|
-
- name: Set up Ruby 2.7 and bundle
|
|
26
|
-
uses: ruby/setup-ruby@v1
|
|
27
|
-
with:
|
|
28
|
-
ruby-version: 2.7
|
|
29
|
-
|
|
30
|
-
- name: Install gems
|
|
31
|
-
run: |
|
|
32
|
-
echo 'gem: --no-document' >> ~/.gemrc
|
|
33
|
-
bundle install --without development --without test
|
|
34
|
-
|
|
35
|
-
- name: Install swig 4.0.2
|
|
36
|
-
run: |
|
|
37
|
-
apt udate && apt install -y --no-install-recommends bison
|
|
38
|
-
curl -SL https://github.com/swig/swig/archive/refs/tags/v4.0.2.tar.gz | tar xzC /tmp
|
|
39
|
-
cd /tmp/swig-4.0.2
|
|
40
|
-
./autogen.sh && ./configure && make && sudo make install
|
|
41
|
-
cd -
|
|
42
|
-
|
|
43
|
-
- name: Download files from cloud.solarwinds.com and create swig wrapper
|
|
44
|
-
env:
|
|
45
|
-
TRACE_BUILD_TOKEN: ${{ secrets.TRACE_BUILD_RUBY_ACTIONS_API_TOKEN }}
|
|
46
|
-
run: |
|
|
47
|
-
bundle exec rake fetch_oboe_file_from_prod
|
|
48
|
-
bundle exec rake oboe_verify
|
|
49
|
-
|
|
50
|
-
- name: Build Gem and upload to Rubygems
|
|
51
|
-
id: build
|
|
52
|
-
env:
|
|
53
|
-
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_TOKEN }}
|
|
54
|
-
run: |
|
|
55
|
-
bundle exec rake build_and_publish_gem
|
|
56
|
-
checksum=`shasum -a256 *.gem | awk '{print $1;}'`
|
|
57
|
-
echo "checksum: $checksum"
|
|
58
|
-
echo ::set-output name=checksum::$checksum
|
|
59
|
-
echo ::set-output name=gem_version::`ruby -e 'require "./lib/solarwinds_apm/version"; puts SolarWindsAPM::Version::STRING'`
|
|
60
|
-
|
|
61
|
-
- name: Get checksum from Rubygems
|
|
62
|
-
id: checksum
|
|
63
|
-
run: |
|
|
64
|
-
gem_version=${{ steps.build.outputs.gem_version }}
|
|
65
|
-
echo ::set-output name=geminfo::`curl https://rubygems.org/api/v2/rubygems/solarwinds_apm/versions/$gem_version.json`
|
|
66
|
-
|
|
67
|
-
- name: Print checksums (in case some debugging is needed)
|
|
68
|
-
run: |
|
|
69
|
-
echo "local checksum: ${{ steps.build.outputs.checksum }}"
|
|
70
|
-
echo "Rubygems checksum: ${{ fromJson(steps.checksum.outputs.geminfo).sha }}"
|
|
71
|
-
|
|
72
|
-
- name: Fail if local and rubygems checksums don't match
|
|
73
|
-
if: fromJson(steps.checksum.outputs.geminfo).sha != steps.build.outputs.checksum
|
|
74
|
-
run: |
|
|
75
|
-
echo "local and rubygems checksum not matching, gem needs to be yanked from rubygems.org"
|
|
76
|
-
exit 1
|
|
77
|
-
|
|
78
|
-
- name: Create release draft that includes the checksum
|
|
79
|
-
uses: actions/github-script@v3
|
|
80
|
-
with:
|
|
81
|
-
github-token: ${{secrets.GITHUB_TOKEN}}
|
|
82
|
-
script: |
|
|
83
|
-
github.repos.createRelease({
|
|
84
|
-
owner: "solarwindscloud",
|
|
85
|
-
repo: "solarwinds-apm-ruby",
|
|
86
|
-
body: "SHA256 checksum: ${{ steps.build.outputs.checksum }}",
|
|
87
|
-
tag_name: "${{ steps.build.outputs.gem_version }}",
|
|
88
|
-
name: "${{ steps.build.outputs.gem_version }}",
|
|
89
|
-
draft: true
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
# may need a bit of time for the gem to become available (-> sleep 1)
|
|
93
|
-
- name: Download new Rubygem from rubygems.org and test
|
|
94
|
-
working-directory: .github/workflows/
|
|
95
|
-
env:
|
|
96
|
-
SW_APM_SERVICE_KEY: ${{ secrets.SW_APM_SERVICE_KEY_PROD }}
|
|
97
|
-
SW_APM_COLLECTOR: ${{ secrets.SW_APM_COLLECTOR_PROD}}
|
|
98
|
-
run: |
|
|
99
|
-
sleep 1
|
|
100
|
-
gem install solarwinds_apm --version ${{ steps.build.outputs.gem_version }}
|
|
101
|
-
ruby ./scripts/test_install.rb
|
|
102
|
-
|
|
103
|
-
- name: Now also check manually if there is a trace for service 'ruby-post-release-test' in SW production
|
|
104
|
-
run: echo "TODO"
|
|
105
|
-
|
|
106
|
-
- name: And now the release notes need to be completed for the new release
|
|
107
|
-
run: echo "TODO"
|
|
108
|
-
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2021 SolarWinds, LLC.
|
|
2
|
-
# All rights reserved.
|
|
3
|
-
|
|
4
|
-
name: Ruby Gem to PackageCloud
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
workflow_dispatch:
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
build:
|
|
11
|
-
name: Build + Publish to PackageCloud
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
|
|
14
|
-
steps:
|
|
15
|
-
- uses: actions/checkout@v2
|
|
16
|
-
|
|
17
|
-
- name: Set up Ruby 2.7 and bundle
|
|
18
|
-
uses: ruby/setup-ruby@v1
|
|
19
|
-
with:
|
|
20
|
-
ruby-version: 2.7
|
|
21
|
-
|
|
22
|
-
- name: Install gems
|
|
23
|
-
run: |
|
|
24
|
-
echo 'gem: --no-document' >> ~/.gemrc
|
|
25
|
-
bundle install
|
|
26
|
-
|
|
27
|
-
- name: Install swig 4.0.2
|
|
28
|
-
run: |
|
|
29
|
-
apt udate && apt install -y --no-install-recommends bison
|
|
30
|
-
curl -SL https://github.com/swig/swig/archive/refs/tags/v4.0.2.tar.gz | tar xzC /tmp
|
|
31
|
-
cd /tmp/swig-4.0.2
|
|
32
|
-
./autogen.sh && ./configure && make && sudo make install
|
|
33
|
-
cd -
|
|
34
|
-
|
|
35
|
-
- name: Grab current version
|
|
36
|
-
id: version
|
|
37
|
-
run: |
|
|
38
|
-
echo ::set-output name=gem_version::`ruby -e 'require "./lib/solarwinds_apm/version"; puts SolarWindsAPM::Version::STRING'`
|
|
39
|
-
|
|
40
|
-
- name: Build gem and publish to packagecloud
|
|
41
|
-
id: gemstep
|
|
42
|
-
run: |
|
|
43
|
-
bundle exec rake build_gem_push_to_packagecloud[${{ steps.version.outputs.gem_version }}]
|
|
44
|
-
env:
|
|
45
|
-
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
|
46
|
-
|
|
47
|
-
# Run this test manually, github is having problems reading the index at packagecloud
|
|
48
|
-
# TODO: AO-20355
|
|
49
|
-
# - name: Test install (give packagecloud 60 seconds to index)
|
|
50
|
-
# working-directory: .github/workflows/
|
|
51
|
-
# env:
|
|
52
|
-
# SW_APM_SERVICE_KEY: ${{ secrets.SW_APM_SERVICE_KEY }}
|
|
53
|
-
# SW_APM_COLLECTOR: ${{ secrets.SW_APM_COLLECTOR}}
|
|
54
|
-
# OBOE_STAGING: true
|
|
55
|
-
# run: |
|
|
56
|
-
# sleep 60
|
|
57
|
-
# gem sources --add https://packagecloud.io/solarwinds/solarwinds-apm-ruby
|
|
58
|
-
# gem install solarwinds_apm --version ${{ steps.gemstep.outputs.GEM_VERSION }} --verbose
|
|
59
|
-
# ruby ./scripts/test_install.rb
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
name: Build docker images
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
paths:
|
|
6
|
-
- 'test/run_tests/Dockerfile_*'
|
|
7
|
-
# Allows running this workflow manually from the Actions tab
|
|
8
|
-
workflow_dispatch:
|
|
9
|
-
|
|
10
|
-
env:
|
|
11
|
-
REGISTRY: ghcr.io
|
|
12
|
-
IMAGE_NAME: ${{ github.repository }}/apm_ruby
|
|
13
|
-
DOCKERFILE: test/run_tests/Dockerfile
|
|
14
|
-
|
|
15
|
-
jobs:
|
|
16
|
-
|
|
17
|
-
build_push:
|
|
18
|
-
name: Build docker images
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
|
|
21
|
-
strategy:
|
|
22
|
-
fail-fast: false
|
|
23
|
-
matrix:
|
|
24
|
-
os: [ubuntu, debian, centos, alpine]
|
|
25
|
-
|
|
26
|
-
steps:
|
|
27
|
-
- name: Checkout ${{ github.ref }}
|
|
28
|
-
uses: actions/checkout@v1
|
|
29
|
-
|
|
30
|
-
- name: Log in to the Container Registry
|
|
31
|
-
uses: docker/login-action@v2
|
|
32
|
-
with:
|
|
33
|
-
registry: ${{ env.REGISTRY }}
|
|
34
|
-
username: ${{ github.actor }}
|
|
35
|
-
password: ${{ secrets.GITHUB_TOKEN }}
|
|
36
|
-
|
|
37
|
-
- name: Extract metadata (tags, labels) for Docker
|
|
38
|
-
id: meta
|
|
39
|
-
uses: docker/metadata-action@v4
|
|
40
|
-
with:
|
|
41
|
-
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}_${{ matrix.os }}
|
|
42
|
-
flavor: |
|
|
43
|
-
latest=true
|
|
44
|
-
|
|
45
|
-
- name: Build and push Docker image
|
|
46
|
-
uses: docker/build-push-action@v3
|
|
47
|
-
with:
|
|
48
|
-
context: .
|
|
49
|
-
push: true
|
|
50
|
-
file: test/run_tests/Dockerfile_${{ matrix.os }}
|
|
51
|
-
tags: ${{ steps.meta.outputs.tags }}
|
|
52
|
-
labels: ${{ steps.meta.outputs.labels }}
|
|
53
|
-
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2021 SolarWinds, LLC.
|
|
2
|
-
# All rights reserved.
|
|
3
|
-
|
|
4
|
-
name: C++ Tests
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
push:
|
|
8
|
-
paths:
|
|
9
|
-
- ext/oboe_metal/src/*.h
|
|
10
|
-
- ext/oboe_metal/src/*.cc
|
|
11
|
-
- ext/oboe_metal/test/*
|
|
12
|
-
# Allows you to run this workflow manually from the Actions tab
|
|
13
|
-
workflow_dispatch:
|
|
14
|
-
|
|
15
|
-
jobs:
|
|
16
|
-
tests:
|
|
17
|
-
runs-on: ubuntu-latest
|
|
18
|
-
strategy:
|
|
19
|
-
fail-fast: false
|
|
20
|
-
matrix:
|
|
21
|
-
ruby: [3.1, 3.0, 2.7, 2.6, 2.5]
|
|
22
|
-
|
|
23
|
-
container:
|
|
24
|
-
image: ruby:${{ matrix.ruby }}
|
|
25
|
-
|
|
26
|
-
name: ${{ matrix.ruby }} - c++
|
|
27
|
-
|
|
28
|
-
env:
|
|
29
|
-
SW_APM_REPORTER: file
|
|
30
|
-
SW_APM_COLLECTOR: /tmp/sw_apm_traces.bson
|
|
31
|
-
SW_APM_REPORTER_FILE_SINGLE: false
|
|
32
|
-
OBOE_STAGING: true
|
|
33
|
-
|
|
34
|
-
steps:
|
|
35
|
-
- uses: actions/checkout@v2
|
|
36
|
-
|
|
37
|
-
- name: Install cmake
|
|
38
|
-
run: |
|
|
39
|
-
ls -lrt /usr/src
|
|
40
|
-
apt update && apt install -y --no-install-recommends build-essential libgtest-dev ruby
|
|
41
|
-
curl -OL https://github.com/Kitware/CMake/releases/download/v3.20.5/cmake-3.20.5-SHA-256.txt
|
|
42
|
-
curl -OL https://github.com/Kitware/CMake/releases/download/v3.20.5/cmake-3.20.5.tar.gz
|
|
43
|
-
sha256sum -c --ignore-missing cmake-3.20.5-SHA-256.txt
|
|
44
|
-
tar -zxvf cmake-3.20.5.tar.gz
|
|
45
|
-
cd cmake-3.20.5
|
|
46
|
-
./bootstrap
|
|
47
|
-
make
|
|
48
|
-
make install
|
|
49
|
-
|
|
50
|
-
- name: Install swig 4.0.2
|
|
51
|
-
working-directory: .github/workflows/swig
|
|
52
|
-
run: |
|
|
53
|
-
apt update && apt install -y --no-install-recommends bison
|
|
54
|
-
tar -xf swig-v4.0.2.tar.gz -C /tmp
|
|
55
|
-
cd /tmp/swig-4.0.2
|
|
56
|
-
./autogen.sh && ./configure && make && make install
|
|
57
|
-
cd -
|
|
58
|
-
|
|
59
|
-
- name: Bundle & download c-files
|
|
60
|
-
run: |
|
|
61
|
-
gem install bundler
|
|
62
|
-
bundle install
|
|
63
|
-
bundle exec rake clean fetch compile
|
|
64
|
-
|
|
65
|
-
- name: Compile and run tests
|
|
66
|
-
working-directory: ext/oboe_metal/test
|
|
67
|
-
run: |
|
|
68
|
-
export TEST_DIR=`pwd`
|
|
69
|
-
export RUBY_INC_DIR=$(ruby ruby_inc_dir.rb)
|
|
70
|
-
export RUBY_PREFIX=$(ruby ruby_prefix.rb)
|
|
71
|
-
cmake -S . -B build
|
|
72
|
-
cmake --build build
|
|
73
|
-
cd build && ctest
|