appsignal 2.10.3 → 2.10.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.semaphore/semaphore.yml +818 -0
- data/CHANGELOG.md +6 -0
- data/README.md +1 -1
- data/Rakefile +59 -20
- data/build_matrix.yml +84 -49
- data/gemfiles/capistrano2.gemfile +0 -5
- data/gemfiles/capistrano3.gemfile +0 -5
- data/gemfiles/grape.gemfile +0 -5
- data/gemfiles/no_dependencies.gemfile +0 -5
- data/gemfiles/padrino.gemfile +0 -5
- data/gemfiles/que.gemfile +0 -5
- data/gemfiles/que_beta.gemfile +0 -5
- data/gemfiles/rails-3.2.gemfile +0 -5
- data/gemfiles/rails-4.0.gemfile +0 -5
- data/gemfiles/rails-4.1.gemfile +0 -5
- data/gemfiles/rails-4.2.gemfile +0 -5
- data/gemfiles/resque.gemfile +0 -5
- data/lib/appsignal/transaction.rb +1 -1
- data/lib/appsignal/version.rb +1 -1
- data/spec/lib/appsignal/transaction_spec.rb +19 -13
- data/support/check_versions +22 -0
- data/support/install_deps +6 -4
- metadata +4 -3
- data/.travis.yml +0 -197
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 2.10.4
|
4
|
+
- Fix `Appsignal::Transaction#set_http_or_background_action` helper (used by
|
5
|
+
`Appsignal.monitor_transaction`), to allow overwriting the action name of a
|
6
|
+
`Transaction` with `Appsignal.set_action`. PR #594
|
7
|
+
- Move build to Semaphore. PR #587, #590 and #592
|
8
|
+
|
3
9
|
## 2.10.3
|
4
10
|
- Only warn about reused transactions once. Repeated occurrences are logged as
|
5
11
|
debug messages. PR #585
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ issues.
|
|
9
9
|
- [Ruby code documentation][ruby-doc]
|
10
10
|
- [Support][contact]
|
11
11
|
|
12
|
-
[![Build
|
12
|
+
[![Build status](https://appsignal.semaphoreci.com/badges/appsignal-ruby/branches/master.svg)](https://appsignal.semaphoreci.com/projects/appsignal-ruby)
|
13
13
|
[![Gem Version](https://badge.fury.io/rb/appsignal.svg)](http://badge.fury.io/rb/appsignal)
|
14
14
|
[![Code Climate](https://codeclimate.com/github/appsignal/appsignal.png)](https://codeclimate.com/github/appsignal/appsignal)
|
15
15
|
|
data/Rakefile
CHANGED
@@ -17,50 +17,89 @@ VERSION_MANAGERS = {
|
|
17
17
|
}
|
18
18
|
}.freeze
|
19
19
|
|
20
|
+
def env_map(key, value)
|
21
|
+
{
|
22
|
+
"name" => key,
|
23
|
+
"value" => value
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
def build_task(ruby_version, type = nil)
|
28
|
+
{
|
29
|
+
"name" => "Ruby #{ruby_version}#{type ? " - #{type}" : nil}",
|
30
|
+
"dependencies" => ["Validation"],
|
31
|
+
"task" => {
|
32
|
+
"prologue" => {
|
33
|
+
"commands" => [
|
34
|
+
"./support/bundler_wrapper exec rake extension:install"
|
35
|
+
]
|
36
|
+
},
|
37
|
+
"jobs" => []
|
38
|
+
}
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
20
42
|
namespace :build_matrix do
|
21
|
-
namespace :
|
43
|
+
namespace :semaphore do
|
22
44
|
task :generate do
|
23
45
|
yaml = YAML.load_file("build_matrix.yml")
|
24
46
|
matrix = yaml["matrix"]
|
25
47
|
defaults = matrix["defaults"]
|
48
|
+
semaphore = yaml["semaphore"]
|
26
49
|
|
27
50
|
builds = []
|
28
51
|
matrix["ruby"].each do |ruby|
|
29
52
|
ruby_version = ruby["ruby"]
|
53
|
+
ruby_primary_block = build_task(ruby_version)
|
54
|
+
ruby_secondary_block = build_task(ruby_version, "Gems").tap do |t|
|
55
|
+
t["dependencies"] = ["Ruby #{ruby_version}"]
|
56
|
+
end
|
30
57
|
gemset_for_ruby(ruby, matrix).each do |gem|
|
31
58
|
next if excluded_for_ruby?(gem, ruby)
|
32
59
|
|
33
|
-
env =
|
60
|
+
env = [
|
61
|
+
env_map("RUBY_VERSION", ruby_version),
|
62
|
+
env_map("BUNDLE_GEMFILE", "gemfiles/#{gem["gem"]}.gemfile")
|
63
|
+
]
|
34
64
|
rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
|
35
|
-
env
|
65
|
+
env << env_map("_RUBYGEMS_VERSION", rubygems) if rubygems
|
36
66
|
bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
|
37
|
-
env
|
67
|
+
env << env_map("_BUNDLER_VERSION", bundler) if bundler
|
38
68
|
|
39
|
-
|
40
|
-
"
|
41
|
-
"
|
42
|
-
"
|
69
|
+
job = {
|
70
|
+
"name" => "Ruby #{ruby_version} for #{gem["gem"]}",
|
71
|
+
"env_vars" => env,
|
72
|
+
"commands" => ["./support/bundler_wrapper exec rake test"]
|
43
73
|
}
|
74
|
+
if gem["gem"] == "no_dependencies"
|
75
|
+
ruby_primary_block["task"]["jobs"] << job
|
76
|
+
else
|
77
|
+
ruby_secondary_block["task"]["jobs"] << job
|
78
|
+
end
|
79
|
+
end
|
80
|
+
builds << ruby_primary_block
|
81
|
+
if ruby_secondary_block["task"]["jobs"].count.nonzero?
|
82
|
+
builds << ruby_secondary_block
|
44
83
|
end
|
45
84
|
end
|
46
|
-
|
47
|
-
travis["matrix"]["include"] = travis["matrix"]["include"] + builds
|
85
|
+
semaphore["blocks"] += builds
|
48
86
|
|
49
87
|
header = "# DO NOT EDIT\n" \
|
50
|
-
"# This is a generated file by the `rake build_matrix:
|
88
|
+
"# This is a generated file by the `rake build_matrix:semaphore:generate` task.\n" \
|
51
89
|
"# See `build_matrix.yml` for the build matrix.\n" \
|
52
|
-
"# Generate this file with `rake build_matrix:
|
53
|
-
generated_yaml = header + YAML.dump(
|
54
|
-
File.write(".
|
55
|
-
puts "Generated `.
|
56
|
-
puts "
|
90
|
+
"# Generate this file with `rake build_matrix:semaphore:generate`.\n"
|
91
|
+
generated_yaml = header + YAML.dump(semaphore)
|
92
|
+
File.write(".semaphore/semaphore.yml", generated_yaml)
|
93
|
+
puts "Generated `.semaphore/semaphore.yml`"
|
94
|
+
puts "Task count: #{builds.length}"
|
95
|
+
puts "Job count: #{builds.sum { |block| block["task"]["jobs"].count }}"
|
57
96
|
end
|
58
97
|
|
59
98
|
task :validate => :generate do
|
60
|
-
`git status | grep .
|
99
|
+
`git status | grep .semaphore/semaphore.yml 2>&1`
|
61
100
|
if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
|
62
|
-
puts "The `.
|
63
|
-
puts "Please run `rake build_matrix:
|
101
|
+
puts "The `.semaphore/semaphore.yml` is modified. The changes were not committed."
|
102
|
+
puts "Please run `rake build_matrix:semaphore:generate` and commit the changes."
|
64
103
|
exit 1
|
65
104
|
end
|
66
105
|
end
|
@@ -318,7 +357,7 @@ namespace :extension do
|
|
318
357
|
appsignal.version \
|
319
358
|
Makefile \
|
320
359
|
mkmf.log
|
321
|
-
|
360
|
+
COMMAND
|
322
361
|
end
|
323
362
|
end
|
324
363
|
|
data/build_matrix.yml
CHANGED
@@ -1,42 +1,74 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
semaphore: # Default `.semaphore/semaphore.yml` contents
|
2
|
+
version: v1.0
|
3
|
+
name: AppSignal Ruby Build and Tests
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
-
|
7
|
-
|
5
|
+
agent:
|
6
|
+
machine:
|
7
|
+
type: e1-standard-2
|
8
|
+
os_image: ubuntu1804
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
# Cancel all running and queued workflows before this one
|
11
|
+
auto_cancel:
|
12
|
+
running:
|
13
|
+
# Ignore master AND develop branch as we want it to build all workflows
|
14
|
+
when: "branch != 'master' AND branch != 'develop'"
|
13
15
|
|
14
|
-
|
15
|
-
|
16
|
-
-
|
17
|
-
|
18
|
-
-
|
19
|
-
|
16
|
+
global_job_config:
|
17
|
+
env_vars:
|
18
|
+
- name: _BUNDLER_CACHE
|
19
|
+
value: "v2"
|
20
|
+
- name: _GEMS_CACHE
|
21
|
+
value: "v2"
|
22
|
+
- name: BUNDLE_PATH
|
23
|
+
value: "../.bundle/"
|
24
|
+
- name: RUNNING_IN_CI
|
25
|
+
value: "true"
|
26
|
+
- name: RAILS_ENV
|
27
|
+
value: "test"
|
28
|
+
- name: JRUBY_OPTS
|
29
|
+
value: ""
|
30
|
+
- name: COV
|
31
|
+
value: "1"
|
32
|
+
prologue:
|
33
|
+
commands:
|
34
|
+
- checkout
|
35
|
+
- sem-version ruby $RUBY_VERSION
|
36
|
+
- ./support/check_versions
|
37
|
+
- cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE),$_BUNDLER_CACHE-bundler-$RUBY_VERSION
|
38
|
+
- cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE),$_GEMS_CACHE-gems-$RUBY_VERSION
|
39
|
+
- ./support/install_deps
|
40
|
+
- ./support/bundler_wrapper install --jobs=3 --retry=3
|
41
|
+
epilogue:
|
42
|
+
on_pass:
|
43
|
+
commands:
|
44
|
+
- cache store $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE) .bundle
|
45
|
+
- cache store $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE) $HOME/.gem
|
20
46
|
|
21
|
-
|
22
|
-
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
47
|
+
blocks:
|
48
|
+
- name: Validation
|
49
|
+
dependencies: []
|
50
|
+
task:
|
51
|
+
jobs:
|
52
|
+
- name: Validate CI setup
|
53
|
+
env_vars:
|
54
|
+
- name: RUBY_VERSION
|
55
|
+
value: 2.6.5
|
56
|
+
- name: BUNDLE_GEMFILE
|
57
|
+
value: gemfiles/no_dependencies.gemfile
|
58
|
+
commands:
|
59
|
+
- ./support/bundler_wrapper exec rake build_matrix:semaphore:validate
|
60
|
+
- name: Linters
|
61
|
+
dependencies: []
|
62
|
+
task:
|
63
|
+
jobs:
|
64
|
+
- name: RuboCop
|
65
|
+
env_vars:
|
66
|
+
- name: RUBY_VERSION
|
67
|
+
value: 2.6.5
|
68
|
+
- name: BUNDLE_GEMFILE
|
69
|
+
value: gemfiles/no_dependencies.gemfile
|
70
|
+
commands:
|
71
|
+
- ./support/bundler_wrapper exec rubocop
|
40
72
|
|
41
73
|
matrix:
|
42
74
|
defaults:
|
@@ -51,23 +83,26 @@ matrix:
|
|
51
83
|
- "rails-5.2"
|
52
84
|
|
53
85
|
ruby:
|
54
|
-
- ruby: "2.0.0"
|
86
|
+
- ruby: "2.0.0-p648"
|
55
87
|
rubygems: "2.7.8"
|
56
|
-
|
88
|
+
bundler: "1.17.3"
|
89
|
+
- ruby: "2.1.10"
|
57
90
|
rubygems: "2.7.8"
|
91
|
+
bundler: "1.17.3"
|
58
92
|
gems: "none"
|
59
|
-
- ruby: "2.2.
|
93
|
+
- ruby: "2.2.10"
|
60
94
|
rubygems: "2.7.8"
|
95
|
+
bundler: "1.17.3"
|
61
96
|
gems: "none"
|
62
97
|
- ruby: "2.3.8"
|
63
98
|
gems: "none"
|
64
|
-
- ruby: "2.4.
|
99
|
+
- ruby: "2.4.9"
|
65
100
|
gems: "none"
|
66
|
-
- ruby: "2.5.
|
101
|
+
- ruby: "2.5.7"
|
67
102
|
gems: "minimal"
|
68
103
|
- ruby: "2.6.5"
|
69
104
|
- ruby: "2.7.0"
|
70
|
-
- ruby: "jruby-
|
105
|
+
- ruby: "jruby-9.1.17.0"
|
71
106
|
gems: "minimal"
|
72
107
|
gems:
|
73
108
|
- gem: "no_dependencies"
|
@@ -80,7 +115,7 @@ matrix:
|
|
80
115
|
- gem: "que_beta"
|
81
116
|
exclude:
|
82
117
|
ruby:
|
83
|
-
- "2.0.0"
|
118
|
+
- "2.0.0-p648"
|
84
119
|
- gem: "rails-3.2"
|
85
120
|
bundler: "1.17.3"
|
86
121
|
exclude:
|
@@ -96,23 +131,23 @@ matrix:
|
|
96
131
|
- gem: "rails-5.0"
|
97
132
|
exclude:
|
98
133
|
ruby:
|
99
|
-
- "2.0.0"
|
134
|
+
- "2.0.0-p648"
|
100
135
|
- gem: "rails-5.1"
|
101
136
|
exclude:
|
102
137
|
ruby:
|
103
|
-
- "2.0.0"
|
138
|
+
- "2.0.0-p648"
|
104
139
|
- gem: "rails-5.2"
|
105
140
|
exclude:
|
106
141
|
ruby:
|
107
|
-
- "2.0.0"
|
142
|
+
- "2.0.0-p648"
|
108
143
|
- gem: "rails-6.0"
|
109
144
|
exclude:
|
110
145
|
ruby:
|
111
|
-
- "2.0.0"
|
112
|
-
- "2.1.
|
113
|
-
- "2.2.
|
146
|
+
- "2.0.0-p648"
|
147
|
+
- "2.1.10"
|
148
|
+
- "2.2.10"
|
114
149
|
- "2.3.8"
|
115
|
-
- "2.4.
|
150
|
+
- "2.4.9"
|
116
151
|
- gem: "resque"
|
117
152
|
bundler: "1.17.3"
|
118
153
|
- gem: "sequel"
|
@@ -3,10 +3,5 @@ source 'https://rubygems.org'
|
|
3
3
|
gem 'capistrano', '< 3.0'
|
4
4
|
gem 'net-ssh', '2.9.2'
|
5
5
|
gem 'rack', '~> 1.6'
|
6
|
-
if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("2.1.0")
|
7
|
-
gem 'public_suffix', "~> 2.0.0"
|
8
|
-
else
|
9
|
-
gem 'public_suffix'
|
10
|
-
end
|
11
6
|
|
12
7
|
gemspec :path => '../'
|
@@ -4,10 +4,5 @@ gem 'capistrano', '~> 3.0'
|
|
4
4
|
gem 'i18n', '~> 1.2.0'
|
5
5
|
gem 'net-ssh', '2.9.2'
|
6
6
|
gem 'rack', '~> 1.6'
|
7
|
-
if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("2.1.0")
|
8
|
-
gem 'public_suffix', "~> 2.0.0"
|
9
|
-
else
|
10
|
-
gem 'public_suffix'
|
11
|
-
end
|
12
7
|
|
13
8
|
gemspec :path => '../'
|
data/gemfiles/grape.gemfile
CHANGED
@@ -3,10 +3,5 @@ source 'https://rubygems.org'
|
|
3
3
|
gem 'grape', '0.14.0'
|
4
4
|
gem 'rack', '~> 1.6'
|
5
5
|
gem 'activesupport', '~> 4.2'
|
6
|
-
if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("2.1.0")
|
7
|
-
gem 'public_suffix', "~> 2.0.0"
|
8
|
-
else
|
9
|
-
gem 'public_suffix'
|
10
|
-
end
|
11
6
|
|
12
7
|
gemspec :path => '../'
|
data/gemfiles/padrino.gemfile
CHANGED
data/gemfiles/que.gemfile
CHANGED
data/gemfiles/que_beta.gemfile
CHANGED
data/gemfiles/rails-3.2.gemfile
CHANGED
data/gemfiles/rails-4.0.gemfile
CHANGED
data/gemfiles/rails-4.1.gemfile
CHANGED
data/gemfiles/rails-4.2.gemfile
CHANGED