datadog-ci 1.24.0 → 1.26.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/CHANGELOG.md +20 -2
- data/ext/datadog_ci_native/ci.c +5 -3
- data/ext/datadog_ci_native/datadog_common.c +64 -0
- data/ext/datadog_ci_native/datadog_common.h +60 -0
- data/ext/datadog_ci_native/datadog_cov.c +13 -65
- data/ext/datadog_ci_native/datadog_method_inspect.c +22 -0
- data/ext/datadog_ci_native/datadog_method_inspect.h +4 -0
- data/ext/datadog_ci_native/imemo_helpers.c +16 -0
- data/ext/datadog_ci_native/imemo_helpers.h +32 -0
- data/ext/datadog_ci_native/iseq_collector.c +65 -0
- data/ext/datadog_ci_native/iseq_collector.h +6 -0
- data/ext/datadog_ci_native/ruby_internal.h +48 -0
- data/lib/datadog/ci/configuration/components.rb +2 -1
- data/lib/datadog/ci/configuration/settings.rb +6 -0
- data/lib/datadog/ci/contrib/minitest/helpers.rb +3 -3
- data/lib/datadog/ci/contrib/minitest/integration.rb +1 -1
- data/lib/datadog/ci/contrib/minitest/parallel_executor_minitest_6.rb +40 -0
- data/lib/datadog/ci/contrib/minitest/patcher.rb +11 -1
- data/lib/datadog/ci/contrib/minitest/runnable.rb +0 -5
- data/lib/datadog/ci/contrib/minitest/runnable_minitest_6.rb +49 -0
- data/lib/datadog/ci/contrib/minitest/runner.rb +8 -2
- data/lib/datadog/ci/contrib/minitest/test.rb +5 -5
- data/lib/datadog/ci/contrib/rspec/example.rb +2 -2
- data/lib/datadog/ci/ext/settings.rb +1 -0
- data/lib/datadog/ci/source_code/constant_resolver.rb +43 -0
- data/lib/datadog/ci/{utils/source_code.rb → source_code/method_inspect.rb} +3 -3
- data/lib/datadog/ci/source_code/path_filter.rb +33 -0
- data/lib/datadog/ci/source_code/static_dependencies.rb +71 -0
- data/lib/datadog/ci/source_code/static_dependencies_extractor.rb +237 -0
- data/lib/datadog/ci/test_optimisation/component.rb +34 -4
- data/lib/datadog/ci/test_retries/null_component.rb +1 -2
- data/lib/datadog/ci/version.rb +2 -2
- metadata +18 -5
- data/ext/datadog_ci_native/datadog_source_code.c +0 -28
- data/ext/datadog_ci_native/datadog_source_code.h +0 -3
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: datadog-ci
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.26.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Datadog, Inc.
|
|
@@ -72,11 +72,18 @@ files:
|
|
|
72
72
|
- README.md
|
|
73
73
|
- exe/ddcirb
|
|
74
74
|
- ext/datadog_ci_native/ci.c
|
|
75
|
+
- ext/datadog_ci_native/datadog_common.c
|
|
76
|
+
- ext/datadog_ci_native/datadog_common.h
|
|
75
77
|
- ext/datadog_ci_native/datadog_cov.c
|
|
76
78
|
- ext/datadog_ci_native/datadog_cov.h
|
|
77
|
-
- ext/datadog_ci_native/
|
|
78
|
-
- ext/datadog_ci_native/
|
|
79
|
+
- ext/datadog_ci_native/datadog_method_inspect.c
|
|
80
|
+
- ext/datadog_ci_native/datadog_method_inspect.h
|
|
79
81
|
- ext/datadog_ci_native/extconf.rb
|
|
82
|
+
- ext/datadog_ci_native/imemo_helpers.c
|
|
83
|
+
- ext/datadog_ci_native/imemo_helpers.h
|
|
84
|
+
- ext/datadog_ci_native/iseq_collector.c
|
|
85
|
+
- ext/datadog_ci_native/iseq_collector.h
|
|
86
|
+
- ext/datadog_ci_native/ruby_internal.h
|
|
80
87
|
- lib/datadog/ci.rb
|
|
81
88
|
- lib/datadog/ci/async_writer.rb
|
|
82
89
|
- lib/datadog/ci/auto_instrument.rb
|
|
@@ -127,9 +134,11 @@ files:
|
|
|
127
134
|
- lib/datadog/ci/contrib/minitest/ext.rb
|
|
128
135
|
- lib/datadog/ci/contrib/minitest/helpers.rb
|
|
129
136
|
- lib/datadog/ci/contrib/minitest/integration.rb
|
|
137
|
+
- lib/datadog/ci/contrib/minitest/parallel_executor_minitest_6.rb
|
|
130
138
|
- lib/datadog/ci/contrib/minitest/patcher.rb
|
|
131
139
|
- lib/datadog/ci/contrib/minitest/reporter.rb
|
|
132
140
|
- lib/datadog/ci/contrib/minitest/runnable.rb
|
|
141
|
+
- lib/datadog/ci/contrib/minitest/runnable_minitest_6.rb
|
|
133
142
|
- lib/datadog/ci/contrib/minitest/runner.rb
|
|
134
143
|
- lib/datadog/ci/contrib/minitest/test.rb
|
|
135
144
|
- lib/datadog/ci/contrib/parallel_tests/cli.rb
|
|
@@ -221,6 +230,11 @@ files:
|
|
|
221
230
|
- lib/datadog/ci/remote/library_settings_client.rb
|
|
222
231
|
- lib/datadog/ci/remote/null_component.rb
|
|
223
232
|
- lib/datadog/ci/remote/slow_test_retries.rb
|
|
233
|
+
- lib/datadog/ci/source_code/constant_resolver.rb
|
|
234
|
+
- lib/datadog/ci/source_code/method_inspect.rb
|
|
235
|
+
- lib/datadog/ci/source_code/path_filter.rb
|
|
236
|
+
- lib/datadog/ci/source_code/static_dependencies.rb
|
|
237
|
+
- lib/datadog/ci/source_code/static_dependencies_extractor.rb
|
|
224
238
|
- lib/datadog/ci/span.rb
|
|
225
239
|
- lib/datadog/ci/test.rb
|
|
226
240
|
- lib/datadog/ci/test_discovery/component.rb
|
|
@@ -291,7 +305,6 @@ files:
|
|
|
291
305
|
- lib/datadog/ci/utils/git.rb
|
|
292
306
|
- lib/datadog/ci/utils/parsing.rb
|
|
293
307
|
- lib/datadog/ci/utils/rum.rb
|
|
294
|
-
- lib/datadog/ci/utils/source_code.rb
|
|
295
308
|
- lib/datadog/ci/utils/stateful.rb
|
|
296
309
|
- lib/datadog/ci/utils/telemetry.rb
|
|
297
310
|
- lib/datadog/ci/utils/test_run.rb
|
|
@@ -315,7 +328,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
315
328
|
version: 2.7.0
|
|
316
329
|
- - "<"
|
|
317
330
|
- !ruby/object:Gem::Version
|
|
318
|
-
version: '4.
|
|
331
|
+
version: '4.1'
|
|
319
332
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
320
333
|
requirements:
|
|
321
334
|
- - ">="
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#include <ruby.h>
|
|
2
|
-
|
|
3
|
-
// These structs and functions are not exported by MRI because they are part of
|
|
4
|
-
// the internal API. We declare them here to use them via dynamic linking.
|
|
5
|
-
typedef struct rb_iseq_struct rb_iseq_t;
|
|
6
|
-
const rb_iseq_t *rb_iseqw_to_iseq(VALUE iseqw);
|
|
7
|
-
void rb_iseq_code_location(const rb_iseq_t *, int *first_lineno,
|
|
8
|
-
int *first_column, int *last_lineno,
|
|
9
|
-
int *last_column);
|
|
10
|
-
|
|
11
|
-
static VALUE last_line_from_iseq(VALUE self, VALUE iseqw) {
|
|
12
|
-
const rb_iseq_t *iseq = rb_iseqw_to_iseq(iseqw);
|
|
13
|
-
|
|
14
|
-
int line;
|
|
15
|
-
rb_iseq_code_location(iseq, NULL, NULL, &line, NULL);
|
|
16
|
-
|
|
17
|
-
return INT2NUM(line);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
void Init_datadog_source_code(void) {
|
|
21
|
-
VALUE mDatadog = rb_define_module("Datadog");
|
|
22
|
-
VALUE mCI = rb_define_module_under(mDatadog, "CI");
|
|
23
|
-
VALUE mUtils = rb_define_module_under(mCI, "Utils");
|
|
24
|
-
VALUE mSourceCode = rb_define_module_under(mUtils, "SourceCode");
|
|
25
|
-
|
|
26
|
-
rb_define_singleton_method(mSourceCode, "_native_last_line_from_iseq",
|
|
27
|
-
last_line_from_iseq, 1);
|
|
28
|
-
}
|