-
Notifications
You must be signed in to change notification settings - Fork 314
Run CI only for tasks affected by git changes #7464
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
|
Hi! 👋 Looks like you updated a Git Submodule.
|
b203f79 to
def6068
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 45 metrics, 18 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1046563
Total [baseline] (10.367 s) : 0, 10367168
Agent [candidate] (1.046 s) : 0, 1046351
Total [candidate] (10.459 s) : 0, 10458875
section appsec
Agent [baseline] (1.168 s) : 0, 1167829
Total [baseline] (10.441 s) : 0, 10441143
Agent [candidate] (1.175 s) : 0, 1174651
Total [candidate] (10.468 s) : 0, 10467860
section iast
Agent [baseline] (1.185 s) : 0, 1185142
Total [baseline] (10.883 s) : 0, 10882748
Agent [candidate] (1.177 s) : 0, 1177036
Total [candidate] (10.844 s) : 0, 10843510
section profiling
Agent [baseline] (1.243 s) : 0, 1243484
Total [baseline] (10.564 s) : 0, 10564297
Agent [candidate] (1.244 s) : 0, 1243758
Total [candidate] (10.516 s) : 0, 10516210
gantt
title petclinic - break down per module: candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (668.034 ms) : 0, 668034
BytebuddyAgent [candidate] (667.187 ms) : 0, 667187
GlobalTracer [baseline] (305.805 ms) : 0, 305805
GlobalTracer [candidate] (306.417 ms) : 0, 306417
AppSec [baseline] (51.196 ms) : 0, 51196
AppSec [candidate] (51.159 ms) : 0, 51159
Remote Config [baseline] (682.113 µs) : 0, 682
Remote Config [candidate] (695.705 µs) : 0, 696
Telemetry [baseline] (7.424 ms) : 0, 7424
Telemetry [candidate] (7.446 ms) : 0, 7446
section appsec
BytebuddyAgent [baseline] (677.637 ms) : 0, 677637
BytebuddyAgent [candidate] (681.985 ms) : 0, 681985
GlobalTracer [baseline] (299.406 ms) : 0, 299406
GlobalTracer [candidate] (301.271 ms) : 0, 301271
AppSec [baseline] (157.299 ms) : 0, 157299
AppSec [candidate] (157.906 ms) : 0, 157906
Remote Config [baseline] (600.49 µs) : 0, 600
Remote Config [candidate] (609.346 µs) : 0, 609
Telemetry [baseline] (8.733 ms) : 0, 8733
Telemetry [candidate] (8.806 ms) : 0, 8806
IAST [baseline] (21.425 ms) : 0, 21425
IAST [candidate] (21.04 ms) : 0, 21040
section iast
BytebuddyAgent [baseline] (788.727 ms) : 0, 788727
BytebuddyAgent [candidate] (783.14 ms) : 0, 783140
GlobalTracer [baseline] (298.398 ms) : 0, 298398
GlobalTracer [candidate] (296.766 ms) : 0, 296766
AppSec [baseline] (53.373 ms) : 0, 53373
AppSec [candidate] (53.194 ms) : 0, 53194
Remote Config [baseline] (583.216 µs) : 0, 583
Remote Config [candidate] (599.91 µs) : 0, 600
Telemetry [baseline] (8.79 ms) : 0, 8790
Telemetry [candidate] (7.955 ms) : 0, 7955
IAST [baseline] (21.702 ms) : 0, 21702
IAST [candidate] (21.896 ms) : 0, 21896
section profiling
ProfilingAgent [baseline] (94.485 ms) : 0, 94485
ProfilingAgent [candidate] (94.75 ms) : 0, 94750
BytebuddyAgent [baseline] (662.59 ms) : 0, 662590
BytebuddyAgent [candidate] (662.491 ms) : 0, 662491
GlobalTracer [baseline] (389.149 ms) : 0, 389149
GlobalTracer [candidate] (389.016 ms) : 0, 389016
AppSec [baseline] (52.047 ms) : 0, 52047
AppSec [candidate] (52.308 ms) : 0, 52308
Remote Config [baseline] (693.107 µs) : 0, 693
Remote Config [candidate] (675.768 µs) : 0, 676
Telemetry [baseline] (7.413 ms) : 0, 7413
Telemetry [candidate] (7.361 ms) : 0, 7361
Profiling [baseline] (94.509 ms) : 0, 94509
Profiling [candidate] (94.776 ms) : 0, 94776
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1057173
Total [baseline] (8.509 s) : 0, 8508764
Agent [candidate] (1.048 s) : 0, 1047674
Total [candidate] (8.486 s) : 0, 8486230
section iast
Agent [baseline] (1.174 s) : 0, 1173642
Total [baseline] (8.983 s) : 0, 8982602
Agent [candidate] (1.177 s) : 0, 1176610
Total [candidate] (8.975 s) : 0, 8975286
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.182 s) : 0, 1182174
Total [baseline] (8.966 s) : 0, 8965641
Agent [candidate] (1.191 s) : 0, 1191198
Total [candidate] (9.01 s) : 0, 9009556
section iast_TELEMETRY_OFF
Agent [baseline] (1.18 s) : 0, 1180364
Total [baseline] (9.006 s) : 0, 9006073
Agent [candidate] (1.171 s) : 0, 1171351
Total [candidate] (9.003 s) : 0, 9002621
gantt
title insecure-bank - break down per module: candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (674.852 ms) : 0, 674852
BytebuddyAgent [candidate] (668.162 ms) : 0, 668162
GlobalTracer [baseline] (309.228 ms) : 0, 309228
GlobalTracer [candidate] (306.869 ms) : 0, 306869
AppSec [baseline] (51.291 ms) : 0, 51291
AppSec [candidate] (51.053 ms) : 0, 51053
Remote Config [baseline] (690.135 µs) : 0, 690
Remote Config [candidate] (677.433 µs) : 0, 677
Telemetry [baseline] (7.529 ms) : 0, 7529
Telemetry [candidate] (7.44 ms) : 0, 7440
section iast
BytebuddyAgent [baseline] (780.407 ms) : 0, 780407
BytebuddyAgent [candidate] (782.918 ms) : 0, 782918
GlobalTracer [baseline] (295.209 ms) : 0, 295209
GlobalTracer [candidate] (296.357 ms) : 0, 296357
AppSec [baseline] (50.123 ms) : 0, 50123
AppSec [candidate] (53.877 ms) : 0, 53877
IAST [baseline] (25.131 ms) : 0, 25131
IAST [candidate] (22.383 ms) : 0, 22383
Remote Config [baseline] (603.05 µs) : 0, 603
Remote Config [candidate] (559.47 µs) : 0, 559
Telemetry [baseline] (8.727 ms) : 0, 8727
Telemetry [candidate] (7.057 ms) : 0, 7057
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (786.319 ms) : 0, 786319
BytebuddyAgent [candidate] (791.421 ms) : 0, 791421
GlobalTracer [baseline] (297.837 ms) : 0, 297837
GlobalTracer [candidate] (299.928 ms) : 0, 299928
AppSec [baseline] (50.412 ms) : 0, 50412
AppSec [candidate] (51.115 ms) : 0, 51115
IAST [baseline] (24.808 ms) : 0, 24808
IAST [candidate] (23.983 ms) : 0, 23983
Remote Config [baseline] (566.7 µs) : 0, 567
Remote Config [candidate] (625.784 µs) : 0, 626
Telemetry [baseline] (8.669 ms) : 0, 8669
Telemetry [candidate] (10.511 ms) : 0, 10511
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (784.995 ms) : 0, 784995
BytebuddyAgent [candidate] (778.977 ms) : 0, 778977
GlobalTracer [baseline] (298.651 ms) : 0, 298651
GlobalTracer [candidate] (296.597 ms) : 0, 296597
AppSec [baseline] (50.528 ms) : 0, 50528
AppSec [candidate] (51.33 ms) : 0, 51330
IAST [baseline] (24.159 ms) : 0, 24159
IAST [candidate] (23.194 ms) : 0, 23194
Remote Config [baseline] (619.198 µs) : 0, 619
Remote Config [candidate] (626.883 µs) : 0, 627
Telemetry [baseline] (7.852 ms) : 0, 7852
Telemetry [candidate] (7.102 ms) : 0, 7102
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (1.336 ms) : 1317, 1356
. : milestone, 1336,
appsec (1.728 ms) : 1704, 1753
. : milestone, 1728,
appsec_no_iast (1.723 ms) : 1699, 1747
. : milestone, 1723,
iast (1.465 ms) : 1441, 1488
. : milestone, 1465,
profiling (1.513 ms) : 1487, 1539
. : milestone, 1513,
tracing (1.467 ms) : 1443, 1492
. : milestone, 1467,
section candidate
no_agent (1.339 ms) : 1319, 1358
. : milestone, 1339,
appsec (1.735 ms) : 1712, 1759
. : milestone, 1735,
appsec_no_iast (1.738 ms) : 1713, 1762
. : milestone, 1738,
iast (1.478 ms) : 1456, 1500
. : milestone, 1478,
profiling (1.568 ms) : 1543, 1594
. : milestone, 1568,
tracing (1.446 ms) : 1421, 1471
. : milestone, 1446,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (372.444 µs) : 352, 392
. : milestone, 372,
iast (480.659 µs) : 459, 502
. : milestone, 481,
iast_FULL (547.126 µs) : 525, 569
. : milestone, 547,
iast_GLOBAL (502.352 µs) : 480, 525
. : milestone, 502,
iast_HARDCODED_SECRET_DISABLED (479.042 µs) : 458, 500
. : milestone, 479,
iast_INACTIVE (455.16 µs) : 433, 477
. : milestone, 455,
iast_TELEMETRY_OFF (469.187 µs) : 448, 491
. : milestone, 469,
tracing (443.07 µs) : 422, 464
. : milestone, 443,
section candidate
no_agent (366.537 µs) : 345, 388
. : milestone, 367,
iast (478.615 µs) : 458, 500
. : milestone, 479,
iast_FULL (550.349 µs) : 528, 573
. : milestone, 550,
iast_GLOBAL (503.107 µs) : 480, 526
. : milestone, 503,
iast_HARDCODED_SECRET_DISABLED (477.403 µs) : 456, 498
. : milestone, 477,
iast_INACTIVE (453.412 µs) : 431, 475
. : milestone, 453,
iast_TELEMETRY_OFF (470.292 µs) : 449, 492
. : milestone, 470,
tracing (439.078 µs) : 419, 459
. : milestone, 439,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (1.454 ms) : 1442, 1465
. : milestone, 1454,
appsec (2.232 ms) : 2196, 2268
. : milestone, 2232,
iast (1.957 ms) : 1915, 1999
. : milestone, 1957,
iast_GLOBAL (2.022 ms) : 1978, 2066
. : milestone, 2022,
profiling (1.87 ms) : 1834, 1906
. : milestone, 1870,
tracing (1.833 ms) : 1800, 1866
. : milestone, 1833,
section candidate
no_agent (1.459 ms) : 1447, 1470
. : milestone, 1459,
appsec (2.223 ms) : 2187, 2258
. : milestone, 2223,
iast (1.982 ms) : 1939, 2025
. : milestone, 1982,
iast_GLOBAL (2.019 ms) : 1976, 2062
. : milestone, 2019,
profiling (1.872 ms) : 1837, 1907
. : milestone, 1872,
tracing (1.845 ms) : 1811, 1878
. : milestone, 1845,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~a89f5471dc, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (15.012 s) : 15012000, 15012000
. : milestone, 15012000,
appsec (15.392 s) : 15392000, 15392000
. : milestone, 15392000,
iast (18.798 s) : 18798000, 18798000
. : milestone, 18798000,
iast_GLOBAL (17.93 s) : 17930000, 17930000
. : milestone, 17930000,
profiling (14.887 s) : 14887000, 14887000
. : milestone, 14887000,
tracing (15.285 s) : 15285000, 15285000
. : milestone, 15285000,
section candidate
no_agent (15.341 s) : 15341000, 15341000
. : milestone, 15341000,
appsec (14.945 s) : 14945000, 14945000
. : milestone, 14945000,
iast (18.757 s) : 18757000, 18757000
. : milestone, 18757000,
iast_GLOBAL (18.01 s) : 18010000, 18010000
. : milestone, 18010000,
profiling (15.075 s) : 15075000, 15075000
. : milestone, 15075000,
tracing (15.088 s) : 15088000, 15088000
. : milestone, 15088000,
|
def6068 to
2a741cd
Compare
096fc38 to
cc47be1
Compare
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 unstable metrics. See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (300.837 µs) : 263, 339
. : milestone, 301,
basic (299.216 µs) : 291, 307
. : milestone, 299,
loop (10.561 ms) : 10533, 10589
. : milestone, 10561,
section candidate
noprobe (295.111 µs) : 259, 332
. : milestone, 295,
basic (295.047 µs) : 286, 304
. : milestone, 295,
loop (10.521 ms) : 10496, 10545
. : milestone, 10521,
|
cda55d5 to
e2947e2
Compare
87b138c to
d664538
Compare
f8991a1 to
c7f43cb
Compare
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.
That looks nice!
I only reviewed it "on paper" (did not run it).
I am curious about if we should shadow this change, like running the change detection while still running everything and keeping a close eye to its output, or just deploy it and refine it as we go? -- I expect there will be few tasks that might not be caught from the first try 😇
|
Muzzle failure? 🤔
It might come from master though... |
a7047ea to
31efcdf
Compare
31efcdf to
a89f547
Compare
Adding some sort of dry run sounds good in theory, the problem is that we'll probably be looking at results and think "ok, looks fine", because if it goes wrong, it'll probably be something that catches us off guard and not be obvious until we really skip it and it fails in master 🤔 |
What Does This Do
-PgitBaseRefthat can be set to a git reference (or branch, tag, commit hash, etc) to compare the currentHEADagainst. This will compute which files changed. Changed our Circle CI configuration to pass-PgitBaseRef=<base branch>for PRs.:baseTests,:instTests,:baseCheck, etc, now do not trigger tasks that are unaffected by the computed git changes.git diff --names-only origin/master..HEAD).README.md. Check the definition ofignoredFilesfor the current patterns.gradle/**. If any of these changes, the rest of the change tracking logic will be skipped and all tasks will be triggered. Check the definition ofglobalEffectFiles.src/test, it'll affecttestClasses. If it's insrc/testFixtures, it'll affecttestFixturesClasses. If it's insrc/jmh, it'll affectjmhCompileGeneratedClasses. Otherwise, it'll affect all tasks in the project.:baseTests), get all relevant tasks, after applying partitioning if necessary. And for each task, that task and all its transitive task dependencies will be checked against the previous collected list of affected tasks. If an affected task is found, then the task will be triggered.Note that logging here is quite verbose, using warning level. The intent is making any decision around change tracking as transparent and debuggeable as possible.
Some minor notes around CI definition:
dd-java-agent/agent-iastdoes not skip instrumentation tests anymore, since there's a few instrumentation modules that depend on test fixtures fromdd-java-agent/agent-iast..circleci/collect_results.shwas changed to not fail when no tests were run in a job and no JUnit XML reports are available. This is necessary when there are no affected task for a given job partition.How to test it?
To test change detection, you can use
-PgitNewRefto simulate change detection as if another reference was checked out. For example, to see which tasks would be run for:baseTeston a given branch when compared to master, the following command can be used:Motivation
Reduce PR turnaround time, and reduce the chance of hitting a flaky test in a PR.
Additional Notes
testFixtures), which caused the revert.Contributor Checklist
type:and (comp:orinst:) labels in addition to any usefull labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issue[ ] Update the public documentation in case of new configuration flag or behavior