Skip to content

Commit 3e8108e

Browse files
Merge branch 'master' into rachel.yang/baggage-telemetry
2 parents e112052 + 769f897 commit 3e8108e

File tree

9 files changed

+89
-31
lines changed

9 files changed

+89
-31
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
issuer: https://token.actions.githubusercontent.com
2+
3+
subject: repo:DataDog/dd-trace-java:ref:refs/heads/master
4+
5+
claim_pattern:
6+
event_name: (schedule|workflow_dispatch)
7+
ref: refs/heads/master
8+
ref_protected: "true"
9+
job_workflow_ref: DataDog/dd-trace-java/\.github/workflows/update-docker-build-image\.yaml@refs/heads/master
10+
11+
permissions:
12+
contents: write
13+
pull_requests: write
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
issuer: https://token.actions.githubusercontent.com
2+
3+
subject: repo:DataDog/dd-trace-java:ref:refs/heads/master
4+
5+
claim_pattern:
6+
event_name: (schedule|workflow_dispatch)
7+
ref: refs/heads/master
8+
ref_protected: "true"
9+
job_workflow_ref: DataDog/dd-trace-java/\.github/workflows/update-gradle-dependencies\.yaml@refs/heads/master
10+
11+
permissions:
12+
contents: write
13+
pull_requests: write

.github/workflows/update-docker-build-image.yaml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,27 @@ name: Update Docker Build Image
33
on:
44
schedule:
55
# A day after creating the tag from https://github.com/DataDog/dd-trace-java-docker-build/blob/master/.github/workflows/docker-tag.yml
6-
- cron: '0 0 1 2,5,8,11 *'
6+
- cron: "0 0 1 2,5,8,11 *"
77
workflow_dispatch:
88
inputs:
99
tag:
10-
description: 'The tag to use for the Docker build image'
10+
description: "The tag to use for the Docker build image"
1111
required: true
12-
default: 'vYY.MM'
13-
12+
default: "vYY.MM"
13+
1414
jobs:
1515
update-docker-build-image:
1616
runs-on: ubuntu-latest
1717
permissions:
18-
contents: write # Required to commit and push changes to a new branch
19-
pull-requests: write # Required to create a pull request
18+
contents: write # Required to create and push branch
19+
id-token: write # Required for OIDC token federation
2020
steps:
21+
- uses: DataDog/dd-octo-sts-action@acaa02eee7e3bb0839e4272dacb37b8f3b58ba80 # v1.0.3
22+
id: octo-sts
23+
with:
24+
scope: DataDog/dd-trace-java
25+
policy: self.update-docker-build-image.create-pr
26+
2127
- name: Checkout the repository
2228
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2329
- name: Download ghcommit CLI
@@ -55,12 +61,12 @@ jobs:
5561
sed -i '' -E 's|(BUILDER_IMAGE_VERSION_PREFIX:)[^#]*([#].*)|\1 "${{ steps.define-tag.outputs.tag }}-" \2|' .gitlab-ci.yml
5662
- name: Commit and push changes
5763
env:
58-
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
64+
GITHUB_TOKEN: ${{ steps.octo-sts.outputs.token }}
5965
run: |
6066
ghcommit --repository ${{ github.repository }} --branch ${{ steps.define-branch.outputs.branch }} --add .gitlab-ci.yml --message "feat(ci): Update Docker build image"
6167
- name: Create pull request
6268
env:
63-
GH_TOKEN: ${{ github.token }}
69+
GH_TOKEN: ${{ steps.octo-sts.outputs.token }}
6470
run: |
6571
gh pr create --title "Update Docker build image" \
6672
--base master \

.github/workflows/update-gradle-dependencies.yaml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
name: Update Gradle dependencies
22
on:
33
schedule:
4-
- cron: '0 4 * * 0'
4+
- cron: "0 4 * * 0"
55
workflow_dispatch:
66

77
jobs:
88
update-gradle-dependencies:
99
runs-on: ubuntu-latest
1010
name: Update Gradle dependencies
1111
permissions:
12-
contents: write # Required to commit and push changes to a new branch
13-
pull-requests: write # Required to create a pull request
12+
contents: write # Required to create new branch
13+
id-token: write # Required for OIDC token federation
1414
steps:
15+
- uses: DataDog/dd-octo-sts-action@acaa02eee7e3bb0839e4272dacb37b8f3b58ba80 # v1.0.3
16+
id: octo-sts
17+
with:
18+
scope: DataDog/dd-trace-java
19+
policy: self.update-gradle-dependencies.create-pr
20+
1521
- name: Checkout repository
1622
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1723
with:
18-
submodules: 'recursive'
24+
submodules: "recursive"
1925
- name: Download ghcommit CLI
2026
run: |
2127
curl https://github.com/planetscale/ghcommit/releases/download/v0.1.48/ghcommit_linux_amd64 -o /usr/local/bin/ghcommit -L
@@ -37,7 +43,7 @@ jobs:
3743
./gradlew resolveAndLockAll --write-locks --parallel --stacktrace --no-daemon --max-workers=4
3844
- name: Commit changes
3945
env:
40-
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
46+
GITHUB_TOKEN: ${{ steps.octo-sts.outputs.token }}
4147
run: |
4248
GH_ADD_ARGS=""
4349
COUNT=0
@@ -69,7 +75,7 @@ jobs:
6975
fi
7076
- name: Create pull request
7177
env:
72-
GH_TOKEN: ${{ github.token }}
78+
GH_TOKEN: ${{ steps.octo-sts.outputs.token }}
7379
run: |
7480
# use echo to set a multiline body for the PR
7581
echo -e "This PR updates the Gradle dependencies. ⚠️ Don't forget to squash commits before merging. ⚠️\n\n- [ ] Update PR title if a code change is needed to support one of those new dependencies" | \

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

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
3434
private static final String GRADLE_TEST_RESOURCE_EXTENSION = ".gradleTest"
3535
private static final String GRADLE_REGULAR_EXTENSION = ".gradle"
3636

37+
private static final ComparableVersion GRADLE_9 = new ComparableVersion("9.0.0")
38+
3739
@TempDir
3840
protected Path projectFolder
3941

@@ -105,23 +107,23 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
105107
} else if (Jvm.current.java17) {
106108
return gradleVersion.compareTo(new ComparableVersion("7.3")) >= 0
107109
} else if (Jvm.current.java16) {
108-
return gradleVersion.compareTo(new ComparableVersion("7.0")) >= 0
110+
return gradleVersion.isWithin(new ComparableVersion("7.0"), GRADLE_9)
109111
} else if (Jvm.current.java15) {
110-
return gradleVersion.compareTo(new ComparableVersion("6.7")) >= 0
112+
return gradleVersion.isWithin(new ComparableVersion("6.7"), GRADLE_9)
111113
} else if (Jvm.current.java14) {
112-
return gradleVersion.compareTo(new ComparableVersion("6.3")) >= 0
114+
return gradleVersion.isWithin(new ComparableVersion("6.3"), GRADLE_9)
113115
} else if (Jvm.current.java13) {
114-
return gradleVersion.compareTo(new ComparableVersion("6.0")) >= 0
116+
return gradleVersion.isWithin(new ComparableVersion("6.0"), GRADLE_9)
115117
} else if (Jvm.current.java12) {
116-
return gradleVersion.compareTo(new ComparableVersion("5.4")) >= 0
118+
return gradleVersion.isWithin(new ComparableVersion("5.4"), GRADLE_9)
117119
} else if (Jvm.current.java11) {
118-
return gradleVersion.compareTo(new ComparableVersion("5.0")) >= 0
120+
return gradleVersion.isWithin(new ComparableVersion("5.0"), GRADLE_9)
119121
} else if (Jvm.current.java10) {
120-
return gradleVersion.compareTo(new ComparableVersion("4.7")) >= 0
122+
return gradleVersion.isWithin(new ComparableVersion("4.7"), GRADLE_9)
121123
} else if (Jvm.current.java9) {
122-
return gradleVersion.compareTo(new ComparableVersion("4.3")) >= 0
124+
return gradleVersion.isWithin(new ComparableVersion("4.3"), GRADLE_9)
123125
} else if (Jvm.current.java8) {
124-
return gradleVersion.compareTo(new ComparableVersion("2.0")) >= 0
126+
return gradleVersion.isWithin(new ComparableVersion("2.0"), GRADLE_9)
125127
}
126128
return false
127129
}

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

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package datadog.smoketest
22

33
import datadog.communication.util.IOUtils
44
import datadog.trace.civisibility.utils.ShellCommandExecutor
5+
import spock.util.environment.Jvm
56

67
/**
78
* This test runs Gradle Launcher with the Java Tracer injected
@@ -12,6 +13,7 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
1213
private static final int GRADLE_BUILD_TIMEOUT_MILLIS = 90_000
1314

1415
private static final String AGENT_JAR = System.getProperty("datadog.smoketest.agent.shadowJar.path")
16+
private static final String JAVA_HOME = buildJavaHome()
1517

1618
def "test Gradle Launcher injects tracer into Gradle Daemon: v#gradleVersion, cmd line - #gradleDaemonCmdLineParams"() {
1719
given:
@@ -45,18 +47,19 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
4547
}
4648

4749
private void givenGradleWrapper(String gradleVersion) {
48-
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS)
50+
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, ["JAVA_HOME": JAVA_HOME])
4951
shellCommandExecutor.executeCommand(IOUtils::readFully, "./gradlew", "wrapper", "--gradle-version", gradleVersion)
5052
}
5153

5254
private String whenRunningGradleLauncherWithJavaTracerInjected(String gradleDaemonCmdLineParams) {
5355
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, [
54-
"GRADLE_OPTS" : "-javaagent:${AGENT_JAR}".toString(),
55-
"DD_CIVISIBILITY_ENABLED" : "true",
56-
"DD_CIVISIBILITY_AGENTLESS_ENABLED" : "true",
57-
"DD_CIVISIBILITY_AGENTLESS_URL" : "${mockBackend.intakeUrl}".toString(),
58-
"DD_CIVISIBILITY_GIT_UPLOAD_ENABLED" : "false",
59-
"DD_API_KEY" : "dummy"
56+
"JAVA_HOME" : JAVA_HOME,
57+
"GRADLE_OPTS" : "-javaagent:${AGENT_JAR}".toString(),
58+
"DD_CIVISIBILITY_ENABLED" : "true",
59+
"DD_CIVISIBILITY_AGENTLESS_ENABLED" : "true",
60+
"DD_CIVISIBILITY_AGENTLESS_URL" : "${mockBackend.intakeUrl}".toString(),
61+
"DD_CIVISIBILITY_GIT_UPLOAD_ENABLED": "false",
62+
"DD_API_KEY" : "dummy"
6063
])
6164
String[] command = ["./gradlew", "--no-daemon", "--info"]
6265
if (gradleDaemonCmdLineParams) {
@@ -74,4 +77,12 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
7477
}
7578
return true
7679
}
80+
81+
private static String buildJavaHome() {
82+
if (Jvm.current.isJava8()) {
83+
return System.getenv("JAVA_8_HOME")
84+
} else {
85+
return System.getenv("JAVA_" + Jvm.current.getJavaSpecificationVersion() + "_HOME")
86+
}
87+
}
7788
}

dd-smoke-tests/gradle/src/test/resources/test-succeed-gradle-plugin-test/build.gradleTest

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ repositories {
3030
dependencies {
3131
testImplementation gradleTestKit()
3232

33+
testImplementation 'org.junit.platform:junit-platform-launcher'
3334
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.10.2'
3435
}
3536

dd-smoke-tests/gradle/src/test/resources/test-succeed-junit-5/build.gradleTest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ repositories {
1919
testing {
2020
suites {
2121
test {
22-
useJUnitJupiter()
22+
useJUnitJupiter('5.9.3')
2323

2424
dependencies {
2525
implementation 'org.junit.platform:junit-platform-launcher:1.9.3'

internal-api/src/main/java/datadog/trace/util/ComparableVersion.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.List;
1010
import java.util.Locale;
1111
import java.util.Properties;
12+
import javax.annotation.Nonnull;
1213

1314
// backported from org.apache.maven:maven-artifact:3.9.9
1415
public class ComparableVersion implements Comparable<ComparableVersion> {
@@ -125,6 +126,11 @@ public int compareTo(ComparableVersion o) {
125126
return this.items.compareTo(o.items);
126127
}
127128

129+
/** Checks if the version is in the range {@code [start, end)} */
130+
public boolean isWithin(@Nonnull ComparableVersion start, @Nonnull ComparableVersion end) {
131+
return compareTo(start) >= 0 && compareTo(end) < 0;
132+
}
133+
128134
public String toString() {
129135
return this.value;
130136
}

0 commit comments

Comments
 (0)