-
Couldn't load subscription status.
- Fork 314
Convert ci_jobs.gradle to a convention plugin and extension
#9838
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created a CIJobsExtensions.kt file separate from the datadog.ci-jobs.gradle.kts plugin file because these functions needed to available to the build.gradle.kts build script that applies the plugin itself. It also seemed like too much logic to include in the build.gradle.kts file directly. Let me know if a different organization method would be better (and any other thoughts of course)!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should land ins some package there, like datadog.ci.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I included package datadog.ci now!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I took another look and I've seen other plugins do put their things in here datadog.gradle.plugin. What do you think about moving this to datadog.gradle.plugin.ci ?
Unresolving for visibility
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea! That makes sense.
|
🎯 Code Coverage 🔗 Commit SHA: 1ea522f | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 54 metrics, 11 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.051 s) : 0, 1051451
Total [baseline] (10.904 s) : 0, 10903983
Agent [candidate] (1.033 s) : 0, 1033102
Total [candidate] (11.011 s) : 0, 11010761
section appsec
Agent [baseline] (1.204 s) : 0, 1204101
Total [baseline] (11.044 s) : 0, 11043939
Agent [candidate] (1.213 s) : 0, 1212580
Total [candidate] (10.906 s) : 0, 10906154
section iast
Agent [baseline] (1.168 s) : 0, 1167817
Total [baseline] (11.261 s) : 0, 11261063
Agent [candidate] (1.168 s) : 0, 1168101
Total [candidate] (11.119 s) : 0, 11118520
section profiling
Agent [baseline] (1.182 s) : 0, 1182283
Total [baseline] (10.914 s) : 0, 10913789
Agent [candidate] (1.175 s) : 0, 1174596
Total [candidate] (10.829 s) : 0, 10829474
gantt
title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.5 ms) : 0, 1500
crashtracking [candidate] (1.469 ms) : 0, 1469
BytebuddyAgent [baseline] (716.308 ms) : 0, 716308
BytebuddyAgent [candidate] (702.85 ms) : 0, 702850
GlobalTracer [baseline] (249.941 ms) : 0, 249941
GlobalTracer [candidate] (246.841 ms) : 0, 246841
AppSec [baseline] (33.135 ms) : 0, 33135
AppSec [candidate] (32.462 ms) : 0, 32462
Debugger [baseline] (6.603 ms) : 0, 6603
Debugger [candidate] (6.452 ms) : 0, 6452
Remote Config [baseline] (696.9 µs) : 0, 697
Remote Config [candidate] (685.514 µs) : 0, 686
Telemetry [baseline] (12.585 ms) : 0, 12585
Telemetry [candidate] (15.251 ms) : 0, 15251
Flare Poller [baseline] (9.211 ms) : 0, 9211
Flare Poller [candidate] (5.77 ms) : 0, 5770
section appsec
crashtracking [baseline] (1.468 ms) : 0, 1468
crashtracking [candidate] (1.494 ms) : 0, 1494
BytebuddyAgent [baseline] (725.932 ms) : 0, 725932
BytebuddyAgent [candidate] (732.358 ms) : 0, 732358
GlobalTracer [baseline] (237.379 ms) : 0, 237379
GlobalTracer [candidate] (237.997 ms) : 0, 237997
AppSec [baseline] (174.136 ms) : 0, 174136
AppSec [candidate] (175.21 ms) : 0, 175210
Debugger [baseline] (5.924 ms) : 0, 5924
Debugger [candidate] (5.954 ms) : 0, 5954
Remote Config [baseline] (625.94 µs) : 0, 626
Remote Config [candidate] (642.161 µs) : 0, 642
Telemetry [baseline] (8.372 ms) : 0, 8372
Telemetry [candidate] (8.565 ms) : 0, 8565
Flare Poller [baseline] (3.881 ms) : 0, 3881
Flare Poller [candidate] (3.911 ms) : 0, 3911
IAST [baseline] (25.247 ms) : 0, 25247
IAST [candidate] (25.198 ms) : 0, 25198
section iast
crashtracking [baseline] (1.483 ms) : 0, 1483
crashtracking [candidate] (1.473 ms) : 0, 1473
BytebuddyAgent [baseline] (826.932 ms) : 0, 826932
BytebuddyAgent [candidate] (829.177 ms) : 0, 829177
GlobalTracer [baseline] (235.937 ms) : 0, 235937
GlobalTracer [candidate] (234.973 ms) : 0, 234973
AppSec [baseline] (31.054 ms) : 0, 31054
AppSec [candidate] (29.021 ms) : 0, 29021
Debugger [baseline] (6.227 ms) : 0, 6227
Debugger [candidate] (6.176 ms) : 0, 6176
Remote Config [baseline] (618.939 µs) : 0, 619
Remote Config [candidate] (595.628 µs) : 0, 596
Telemetry [baseline] (8.732 ms) : 0, 8732
Telemetry [candidate] (8.447 ms) : 0, 8447
Flare Poller [baseline] (4.123 ms) : 0, 4123
Flare Poller [candidate] (4.174 ms) : 0, 4174
IAST [baseline] (31.23 ms) : 0, 31230
IAST [candidate] (32.614 ms) : 0, 32614
section profiling
ProfilingAgent [baseline] (110.545 ms) : 0, 110545
ProfilingAgent [candidate] (109.838 ms) : 0, 109838
crashtracking [baseline] (1.478 ms) : 0, 1478
crashtracking [candidate] (1.451 ms) : 0, 1451
BytebuddyAgent [baseline] (732.671 ms) : 0, 732671
BytebuddyAgent [candidate] (726.968 ms) : 0, 726968
GlobalTracer [baseline] (221.441 ms) : 0, 221441
GlobalTracer [candidate] (220.973 ms) : 0, 220973
AppSec [baseline] (32.464 ms) : 0, 32464
AppSec [candidate] (32.168 ms) : 0, 32168
Debugger [baseline] (10.69 ms) : 0, 10690
Debugger [candidate] (10.855 ms) : 0, 10855
Remote Config [baseline] (719.658 µs) : 0, 720
Remote Config [candidate] (2.195 ms) : 0, 2195
Telemetry [baseline] (12.266 ms) : 0, 12266
Telemetry [candidate] (10.655 ms) : 0, 10655
Flare Poller [baseline] (4.213 ms) : 0, 4213
Flare Poller [candidate] (4.157 ms) : 0, 4157
Profiling [baseline] (111.168 ms) : 0, 111168
Profiling [candidate] (110.482 ms) : 0, 110482
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.033 s) : 0, 1032576
Total [baseline] (8.697 s) : 0, 8696866
Agent [candidate] (1.032 s) : 0, 1031879
Total [candidate] (8.669 s) : 0, 8668788
section iast
Agent [baseline] (1.162 s) : 0, 1162135
Total [baseline] (9.373 s) : 0, 9373350
Agent [candidate] (1.165 s) : 0, 1164548
Total [candidate] (9.343 s) : 0, 9343392
gantt
title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.491 ms) : 0, 1491
crashtracking [candidate] (1.467 ms) : 0, 1467
BytebuddyAgent [baseline] (703.785 ms) : 0, 703785
BytebuddyAgent [candidate] (703.13 ms) : 0, 703130
GlobalTracer [baseline] (245.8 ms) : 0, 245800
GlobalTracer [candidate] (245.631 ms) : 0, 245631
AppSec [baseline] (32.351 ms) : 0, 32351
AppSec [candidate] (32.231 ms) : 0, 32231
Debugger [baseline] (6.39 ms) : 0, 6390
Debugger [candidate] (6.389 ms) : 0, 6389
Remote Config [baseline] (683.753 µs) : 0, 684
Remote Config [candidate] (678.62 µs) : 0, 679
Telemetry [baseline] (15.036 ms) : 0, 15036
Telemetry [candidate] (15.321 ms) : 0, 15321
Flare Poller [baseline] (5.874 ms) : 0, 5874
Flare Poller [candidate] (5.828 ms) : 0, 5828
section iast
crashtracking [baseline] (1.48 ms) : 0, 1480
crashtracking [candidate] (1.499 ms) : 0, 1499
BytebuddyAgent [baseline] (824.838 ms) : 0, 824838
BytebuddyAgent [candidate] (826.487 ms) : 0, 826487
GlobalTracer [baseline] (233.994 ms) : 0, 233994
GlobalTracer [candidate] (234.459 ms) : 0, 234459
IAST [baseline] (31.614 ms) : 0, 31614
IAST [candidate] (31.78 ms) : 0, 31780
AppSec [baseline] (29.676 ms) : 0, 29676
AppSec [candidate] (29.748 ms) : 0, 29748
Debugger [baseline] (6.066 ms) : 0, 6066
Debugger [candidate] (6.079 ms) : 0, 6079
Remote Config [baseline] (603.486 µs) : 0, 603
Remote Config [candidate] (606.463 µs) : 0, 606
Telemetry [baseline] (8.403 ms) : 0, 8403
Telemetry [candidate] (8.468 ms) : 0, 8468
Flare Poller [baseline] (4.107 ms) : 0, 4107
Flare Poller [candidate] (4.085 ms) : 0, 4085
LoadParameters
See matching parameters
SummaryFound 3 performance improvements and 2 performance regressions! Performance is the same for 7 metrics, 12 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section baseline
no_agent (4.381 ms) : 4331, 4430
. : milestone, 4381,
iast (10.108 ms) : 9939, 10278
. : milestone, 10108,
iast_FULL (13.981 ms) : 13705, 14256
. : milestone, 13981,
iast_GLOBAL (10.85 ms) : 10654, 11047
. : milestone, 10850,
profiling (8.877 ms) : 8740, 9015
. : milestone, 8877,
tracing (8.075 ms) : 7948, 8203
. : milestone, 8075,
section candidate
no_agent (4.424 ms) : 4374, 4473
. : milestone, 4424,
iast (9.149 ms) : 8998, 9300
. : milestone, 9149,
iast_FULL (14.562 ms) : 14273, 14850
. : milestone, 14562,
iast_GLOBAL (10.678 ms) : 10488, 10867
. : milestone, 10678,
profiling (8.931 ms) : 8789, 9073
. : milestone, 8931,
tracing (7.817 ms) : 7700, 7935
. : milestone, 7817,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section baseline
no_agent (36.049 ms) : 35757, 36341
. : milestone, 36049,
appsec (47.106 ms) : 46699, 47513
. : milestone, 47106,
code_origins (43.54 ms) : 43162, 43918
. : milestone, 43540,
iast (43.998 ms) : 43628, 44369
. : milestone, 43998,
profiling (50.435 ms) : 49978, 50892
. : milestone, 50435,
tracing (44.589 ms) : 44213, 44966
. : milestone, 44589,
section candidate
no_agent (37.952 ms) : 37650, 38253
. : milestone, 37952,
appsec (48.053 ms) : 47645, 48462
. : milestone, 48053,
code_origins (42.167 ms) : 41806, 42528
. : milestone, 42167,
iast (45.737 ms) : 45331, 46143
. : milestone, 45737,
profiling (48.785 ms) : 48308, 49262
. : milestone, 48785,
tracing (44.407 ms) : 44009, 44806
. : milestone, 44407,
DacapoParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section baseline
no_agent (14.978 s) : 14978000, 14978000
. : milestone, 14978000,
appsec (14.777 s) : 14777000, 14777000
. : milestone, 14777000,
iast (18.502 s) : 18502000, 18502000
. : milestone, 18502000,
iast_GLOBAL (18.211 s) : 18211000, 18211000
. : milestone, 18211000,
profiling (15.903 s) : 15903000, 15903000
. : milestone, 15903000,
tracing (14.905 s) : 14905000, 14905000
. : milestone, 14905000,
section candidate
no_agent (15.502 s) : 15502000, 15502000
. : milestone, 15502000,
appsec (14.834 s) : 14834000, 14834000
. : milestone, 14834000,
iast (18.605 s) : 18605000, 18605000
. : milestone, 18605000,
iast_GLOBAL (18.159 s) : 18159000, 18159000
. : milestone, 18159000,
profiling (15.406 s) : 15406000, 15406000
. : milestone, 15406000,
tracing (15.129 s) : 15129000, 15129000
. : milestone, 15129000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~1ea522f2be, baseline=1.55.0-SNAPSHOT~5370add8f6
dateFormat X
axisFormat %s
section baseline
no_agent (1.481 ms) : 1470, 1493
. : milestone, 1481,
appsec (3.727 ms) : 3509, 3946
. : milestone, 3727,
iast (2.218 ms) : 2154, 2282
. : milestone, 2218,
iast_GLOBAL (2.267 ms) : 2202, 2331
. : milestone, 2267,
profiling (2.051 ms) : 2000, 2103
. : milestone, 2051,
tracing (2.036 ms) : 1986, 2086
. : milestone, 2036,
section candidate
no_agent (1.481 ms) : 1470, 1493
. : milestone, 1481,
appsec (2.526 ms) : 2472, 2581
. : milestone, 2526,
iast (2.212 ms) : 2148, 2276
. : milestone, 2212,
iast_GLOBAL (2.267 ms) : 2202, 2332
. : milestone, 2267,
profiling (2.077 ms) : 2024, 2129
. : milestone, 2077,
tracing (2.035 ms) : 1985, 2085
. : milestone, 2035,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a brief overview and this looks good !
Thanks for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should land ins some package there, like datadog.ci.
| val coverage = forceCoverage || rootProject.hasProperty("checkCoverage") | ||
| val proj = this@testAggregate | ||
| tasks.register(rootTaskName) { | ||
| proj.subprojects.forEach { subproject -> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thought: It's outside the scope of this PR, but I think this can be rewritten as a provider passed to the task.dependsOn
| val activePartition = p.extra.get("activePartition") as Boolean | ||
| activePartition && p.plugins.hasPlugin("java") && p.plugins.hasPlugin("muzzle") | ||
| } | ||
| dependsOn(muzzleSubprojects.map { p -> "${p.path}:muzzle" }) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thought: Outside the scope of this PR as well, there might be an opportunity to wrap this calculation to a provider as well.
46048af to
6c60952
Compare
| includePrefixes.any { subproject.path.startsWith(it) } && | ||
| !excludePrefixes.any { subproject.path.startsWith(it) }) { | ||
|
|
||
| val testTask = subproject.tasks.findByName(subProjTaskName) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: Also, related to this other comment #9838 (comment) (and as such for another PR), findByName is eager, so we may want to revise this algo for the task's dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ooh right! Noted, thanks.
* Turn ci_jobs into a convention plugin and extension * Remove ci_jobs file * Address review comments * Address review comments pt 2
What Does This Do
Replace
ci_jobs.gradlefile with a convention plugin and extension fileMotivation
We want to progressively replace our scripts with convention plugins where it makes sense to. Convention plugins are useful for reusability and encapsulation, among other things. With our extensive amount of modules, convention plugins will make it easier to maintain, reuse, and organize our build components.
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any useful labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]