Skip to content

Commit b04023d

Browse files
authored
Merge branch 'master' into bdu/dont-run-check-big-regression-on-master
2 parents 509bbde + 6cca46e commit b04023d

File tree

10 files changed

+259
-44
lines changed

10 files changed

+259
-44
lines changed

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/git/tree/ShellGitClient.java

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import datadog.trace.api.civisibility.telemetry.CiVisibilityDistributionMetric;
77
import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector;
88
import datadog.trace.api.civisibility.telemetry.tag.Command;
9+
import datadog.trace.api.git.GitUtils;
910
import datadog.trace.civisibility.diff.LineDiff;
1011
import datadog.trace.civisibility.utils.ShellCommandExecutor;
1112
import datadog.trace.util.Strings;
@@ -149,13 +150,13 @@ public void unshallow(@Nullable String remoteCommitReference)
149150
.trim();
150151

151152
// refetch data from the server for the given period of time
152-
if (remoteCommitReference != null) {
153+
if (remoteCommitReference != null && GitUtils.isValidRef(remoteCommitReference)) {
153154
String headSha = getSha(remoteCommitReference);
154155
commandExecutor.executeCommand(
155156
ShellCommandExecutor.OutputParser.IGNORE,
156157
"git",
157158
"fetch",
158-
String.format("--shallow-since=='%s'", latestCommitsSince),
159+
String.format("--shallow-since='%s'", latestCommitsSince),
159160
"--update-shallow",
160161
"--filter=blob:none",
161162
"--recurse-submodules=no",
@@ -166,7 +167,7 @@ public void unshallow(@Nullable String remoteCommitReference)
166167
ShellCommandExecutor.OutputParser.IGNORE,
167168
"git",
168169
"fetch",
169-
String.format("--shallow-since=='%s'", latestCommitsSince),
170+
String.format("--shallow-since='%s'", latestCommitsSince),
170171
"--update-shallow",
171172
"--filter=blob:none",
172173
"--recurse-submodules=no",
@@ -231,6 +232,9 @@ public String getRepoRoot() throws IOException, TimeoutException, InterruptedExc
231232
@Override
232233
public String getRemoteUrl(String remoteName)
233234
throws IOException, TimeoutException, InterruptedException {
235+
if (!GitUtils.isValidRef(remoteName)) {
236+
return null;
237+
}
234238
return executeCommand(
235239
Command.GET_REPOSITORY,
236240
() ->
@@ -274,6 +278,9 @@ public String getCurrentBranch() throws IOException, TimeoutException, Interrupt
274278
@Override
275279
public List<String> getTags(String commit)
276280
throws IOException, TimeoutException, InterruptedException {
281+
if (GitUtils.isNotValidCommit(commit)) {
282+
return Collections.emptyList();
283+
}
277284
return executeCommand(
278285
Command.OTHER,
279286
() -> {
@@ -302,6 +309,9 @@ public List<String> getTags(String commit)
302309
@Override
303310
public String getSha(String reference)
304311
throws IOException, TimeoutException, InterruptedException {
312+
if (GitUtils.isNotValidCommit(reference)) {
313+
return null;
314+
}
305315
return executeCommand(
306316
Command.OTHER,
307317
() ->
@@ -324,6 +334,9 @@ public String getSha(String reference)
324334
@Override
325335
public String getFullMessage(String commit)
326336
throws IOException, TimeoutException, InterruptedException {
337+
if (GitUtils.isNotValidCommit(commit)) {
338+
return null;
339+
}
327340
return executeCommand(
328341
Command.OTHER,
329342
() ->
@@ -346,6 +359,9 @@ public String getFullMessage(String commit)
346359
@Override
347360
public String getAuthorName(String commit)
348361
throws IOException, TimeoutException, InterruptedException {
362+
if (GitUtils.isNotValidCommit(commit)) {
363+
return null;
364+
}
349365
return executeCommand(
350366
Command.OTHER,
351367
() ->
@@ -368,6 +384,9 @@ public String getAuthorName(String commit)
368384
@Override
369385
public String getAuthorEmail(String commit)
370386
throws IOException, TimeoutException, InterruptedException {
387+
if (GitUtils.isNotValidCommit(commit)) {
388+
return null;
389+
}
371390
return executeCommand(
372391
Command.OTHER,
373392
() ->
@@ -390,6 +409,9 @@ public String getAuthorEmail(String commit)
390409
@Override
391410
public String getAuthorDate(String commit)
392411
throws IOException, TimeoutException, InterruptedException {
412+
if (GitUtils.isNotValidCommit(commit)) {
413+
return null;
414+
}
393415
return executeCommand(
394416
Command.OTHER,
395417
() ->
@@ -412,6 +434,9 @@ public String getAuthorDate(String commit)
412434
@Override
413435
public String getCommitterName(String commit)
414436
throws IOException, TimeoutException, InterruptedException {
437+
if (GitUtils.isNotValidCommit(commit)) {
438+
return null;
439+
}
415440
return executeCommand(
416441
Command.OTHER,
417442
() ->
@@ -434,6 +459,9 @@ public String getCommitterName(String commit)
434459
@Override
435460
public String getCommitterEmail(String commit)
436461
throws IOException, TimeoutException, InterruptedException {
462+
if (GitUtils.isNotValidCommit(commit)) {
463+
return null;
464+
}
437465
return executeCommand(
438466
Command.OTHER,
439467
() ->
@@ -456,6 +484,9 @@ public String getCommitterEmail(String commit)
456484
@Override
457485
public String getCommitterDate(String commit)
458486
throws IOException, TimeoutException, InterruptedException {
487+
if (GitUtils.isNotValidCommit(commit)) {
488+
return null;
489+
}
459490
return executeCommand(
460491
Command.OTHER,
461492
() ->
@@ -601,6 +632,10 @@ private Path createTempDirectory() throws IOException {
601632
public String getBaseCommitSha(
602633
@Nullable String baseBranch, @Nullable String settingsDefaultBranch)
603634
throws IOException, TimeoutException, InterruptedException {
635+
if ((baseBranch != null && !GitUtils.isValidRef(baseBranch))
636+
|| (settingsDefaultBranch != null && !GitUtils.isValidRef(settingsDefaultBranch))) {
637+
return null;
638+
}
604639
return executeCommand(
605640
Command.BASE_COMMIT_SHA,
606641
() -> {
@@ -956,10 +991,10 @@ String getMergeBase(String baseBranch, String sourceBranch)
956991
@Override
957992
public LineDiff getGitDiff(String baseCommit, String targetCommit)
958993
throws IOException, TimeoutException, InterruptedException {
959-
if (Strings.isBlank(baseCommit)) {
994+
if (Strings.isBlank(baseCommit) || !GitUtils.isValidCommitSha(baseCommit)) {
960995
LOGGER.debug("Base commit info is not available, returning empty git diff");
961996
return null;
962-
} else if (Strings.isNotBlank(targetCommit)) {
997+
} else if (Strings.isNotBlank(targetCommit) && GitUtils.isValidCommitSha(targetCommit)) {
963998
return executeCommand(
964999
Command.DIFF,
9651000
() ->
@@ -1041,7 +1076,7 @@ public Factory(Config config, CiVisibilityMetricCollector metricCollector) {
10411076
@Override
10421077
public GitClient create(@Nullable String repoRoot) {
10431078
long commandTimeoutMillis = config.getCiVisibilityGitCommandTimeoutMillis();
1044-
if (repoRoot != null) {
1079+
if (repoRoot != null && GitUtils.isValidPath(repoRoot)) {
10451080
ShellGitClient client =
10461081
new ShellGitClient(
10471082
metricCollector, repoRoot, "1 month ago", 1000, commandTimeoutMillis);

dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/AbstractGradleTest.groovy

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode
44
import com.fasterxml.jackson.databind.ObjectMapper
55
import datadog.environment.JavaVirtualMachine
66
import datadog.trace.civisibility.CiVisibilitySmokeTest
7+
import datadog.trace.util.ComparableVersion
78
import okhttp3.OkHttpClient
89
import okhttp3.Request
910
import okhttp3.Response
@@ -84,42 +85,42 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
8485
}
8586

8687
protected void givenGradleVersionIsCompatibleWithCurrentJvm(String gradleVersion) {
87-
Assumptions.assumeTrue(isSupported(gradleVersion),
88+
Assumptions.assumeTrue(isSupported(new ComparableVersion(gradleVersion)),
8889
"Current JVM " + Jvm.current.javaVersion + " does not support Gradle version " + gradleVersion)
8990
}
9091

91-
private static boolean isSupported(String gradleVersion) {
92+
private static boolean isSupported(ComparableVersion gradleVersion) {
9293
// https://docs.gradle.org/current/userguide/compatibility.html
9394
if (Jvm.current.isJavaVersionCompatible(24)) {
94-
return gradleVersion >= "8.14"
95+
return gradleVersion.compareTo(new ComparableVersion("8.14")) >= 0
9596
} else if (Jvm.current.java21Compatible) {
96-
return gradleVersion >= "8.4"
97+
return gradleVersion.compareTo(new ComparableVersion("8.4")) >= 0
9798
} else if (Jvm.current.java20) {
98-
return gradleVersion >= "8.1"
99+
return gradleVersion.compareTo(new ComparableVersion("8.1")) >= 0
99100
} else if (Jvm.current.java19) {
100-
return gradleVersion >= "7.6"
101+
return gradleVersion.compareTo(new ComparableVersion("7.6")) >= 0
101102
} else if (Jvm.current.java18) {
102-
return gradleVersion >= "7.5"
103+
return gradleVersion.compareTo(new ComparableVersion("7.5")) >= 0
103104
} else if (Jvm.current.java17) {
104-
return gradleVersion >= "7.3"
105+
return gradleVersion.compareTo(new ComparableVersion("7.3")) >= 0
105106
} else if (Jvm.current.java16) {
106-
return gradleVersion >= "7.0"
107+
return gradleVersion.compareTo(new ComparableVersion("7.0")) >= 0
107108
} else if (Jvm.current.java15) {
108-
return gradleVersion >= "6.7"
109+
return gradleVersion.compareTo(new ComparableVersion("6.7")) >= 0
109110
} else if (Jvm.current.java14) {
110-
return gradleVersion >= "6.3"
111+
return gradleVersion.compareTo(new ComparableVersion("6.3")) >= 0
111112
} else if (Jvm.current.java13) {
112-
return gradleVersion >= "6.0"
113+
return gradleVersion.compareTo(new ComparableVersion("6.0")) >= 0
113114
} else if (Jvm.current.java12) {
114-
return gradleVersion >= "5.4"
115+
return gradleVersion.compareTo(new ComparableVersion("5.4")) >= 0
115116
} else if (Jvm.current.java11) {
116-
return gradleVersion >= "5.0"
117+
return gradleVersion.compareTo(new ComparableVersion("5.0")) >= 0
117118
} else if (Jvm.current.java10) {
118-
return gradleVersion >= "4.7"
119+
return gradleVersion.compareTo(new ComparableVersion("4.7")) >= 0
119120
} else if (Jvm.current.java9) {
120-
return gradleVersion >= "4.3"
121+
return gradleVersion.compareTo(new ComparableVersion("4.3")) >= 0
121122
} else if (Jvm.current.java8) {
122-
return gradleVersion >= "2.0"
123+
return gradleVersion.compareTo(new ComparableVersion("2.0")) >= 0
123124
}
124125
return false
125126
}

dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleDaemonSmokeTest.groovy

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,6 @@ class GradleDaemonSmokeTest extends AbstractGradleTest {
6060
"7.6.4" | "test-corrupted-config-legacy-instrumentation" | false | 1 | 0
6161
}
6262

63-
@IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = {
64-
JavaVirtualMachine.isJavaVersionAtLeast(24)
65-
})
6663
def "test #projectName, v#gradleVersion, configCache: #configurationCache"() {
6764
runGradleTest(gradleVersion, projectName, configurationCache, successExpected, flakyRetries, expectedTraces, expectedCoverages)
6865

dd-smoke-tests/maven/src/test/groovy/datadog/smoketest/MavenSmokeTest.groovy

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package datadog.smoketest
22

3-
import datadog.environment.JavaVirtualMachine
43
import datadog.trace.api.Config
54
import datadog.trace.api.civisibility.CIConstants
65
import datadog.trace.api.config.CiVisibilityConfig
@@ -27,14 +26,10 @@ import org.slf4j.LoggerFactory
2726
import org.w3c.dom.Document
2827
import org.w3c.dom.NodeList
2928
import spock.lang.AutoCleanup
30-
import spock.lang.IgnoreIf
3129
import spock.lang.Shared
3230
import spock.lang.TempDir
3331
import spock.util.environment.Jvm
3432

35-
@IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = {
36-
JavaVirtualMachine.isJavaVersionAtLeast(24)
37-
})
3833
class MavenSmokeTest extends CiVisibilitySmokeTest {
3934

4035
private static final Logger LOGGER = LoggerFactory.getLogger(MavenSmokeTest.class)

dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/events.ftl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"test.code_coverage.enabled" : "true",
2323
"test.command" : "mvn -B test",
2424
"test.framework" : "spock",
25-
"test.framework_version" : "2.4.0-M2-groovy-4.0",
25+
"test.framework_version" : "2.4.0-M6-groovy-4.0",
2626
"test.status" : "pass",
2727
"test.toolchain" : ${content_meta_test_toolchain},
2828
"test.type" : "test",
@@ -66,7 +66,7 @@
6666
"test.command" : "mvn -B test",
6767
"test.execution" : "maven-surefire-plugin:test:default-test",
6868
"test.framework" : "spock",
69-
"test.framework_version" : "2.4.0-M2-groovy-4.0",
69+
"test.framework_version" : "2.4.0-M6-groovy-4.0",
7070
"test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test",
7171
"test.status" : "pass",
7272
"test.type" : "test",
@@ -298,7 +298,7 @@
298298
"runtime.version" : ${content_meta_runtime_version},
299299
"span.kind" : "test_suite_end",
300300
"test.framework" : "spock",
301-
"test.framework_version" : "2.4.0-M2-groovy-4.0",
301+
"test.framework_version" : "2.4.0-M6-groovy-4.0",
302302
"test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test",
303303
"test.status" : "pass",
304304
"test.suite" : "test_successful_maven_run_junit_platform_runner.src.test.groovy.SampleSpockTest",
@@ -350,7 +350,7 @@
350350
"runtime.version" : ${content_meta_runtime_version},
351351
"span.kind" : "test",
352352
"test.framework" : "spock",
353-
"test.framework_version" : "2.4.0-M2-groovy-4.0",
353+
"test.framework_version" : "2.4.0-M6-groovy-4.0",
354354
"test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test",
355355
"test.name" : "test should pass",
356356
"test.source.method" : "test should pass()V",
@@ -378,4 +378,4 @@
378378
},
379379
"type" : "test",
380380
"version" : 2
381-
} ]
381+
} ]

dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<dependency>
5151
<groupId>org.spockframework</groupId>
5252
<artifactId>spock-bom</artifactId>
53-
<version>2.4-M2-groovy-4.0</version>
53+
<version>2.4-M6-groovy-4.0</version>
5454
<type>pom</type>
5555
<scope>import</scope>
5656
</dependency>

dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ public final class ConfigDefaults {
160160
static final boolean DEFAULT_CIVISIBILITY_BUILD_INSTRUMENTATION_ENABLED = true;
161161
static final boolean DEFAULT_CIVISIBILITY_AUTO_CONFIGURATION_ENABLED = true;
162162
static final boolean DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_AUTO_CONFIGURATION_ENABLED = true;
163-
static final String DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_VERSION = "0.2.2";
164-
static final String DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_VERSION = "0.8.12";
163+
static final String DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_VERSION = "0.2.4";
164+
static final String DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_VERSION = "0.8.13";
165165
static final String DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_EXCLUDES =
166166
"datadog.trace.*:org.apache.commons.*:org.mockito.*";
167167
static final boolean DEFAULT_CIVISIBILITY_GIT_UPLOAD_ENABLED = true;

0 commit comments

Comments
 (0)