Skip to content

Commit 930b6e9

Browse files
authored
Merge pull request #201 from DataDog/tyler/java9-ci
Reenable java 7 and 9 CI
2 parents 28336a7 + ce9e5dd commit 930b6e9

File tree

9 files changed

+75
-88
lines changed

9 files changed

+75
-88
lines changed

.circleci/config.yml

Lines changed: 62 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,33 @@ defaults: &defaults
66
docker:
77
- image: circleci/openjdk:8
88

9+
cache_keys: &cache_keys
10+
# Reset the cache approx every release
11+
keys:
12+
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}
13+
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}
14+
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}
15+
- dd-trace-java
16+
917
test_job: &test_job
1018
steps:
11-
- attach_workspace:
12-
at: .
19+
- checkout
20+
21+
- restore_cache:
22+
<<: *cache_keys
23+
24+
- run:
25+
name: Fix EC parameters error # (ref https://github.com/travis-ci/travis-ci/issues/8503)
26+
command: |
27+
if [ "${CIRCLE_JOB}" == "test_7" ]; then
28+
wget "https://downloads.bouncycastle.org/java/bcprov-ext-jdk15on-158.jar" -O "${JAVA_HOME}"/jre/lib/ext/bcprov-ext-jdk15on-158.jar && \
29+
perl -pi.bak -e 's/^(security\.provider\.)([0-9]+)/$1.($2+1)/ge' /etc/java-7-openjdk/security/java.security && \
30+
echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" | tee -a /etc/java-7-openjdk/security/java.security
31+
fi
1332
1433
- run:
1534
name: Run Tests
16-
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew -g=gradle-home test --parallel --stacktrace --no-daemon --max-workers=3
35+
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew test --parallel --stacktrace --no-daemon --max-workers=3
1736

1837
- run:
1938
name: Save Artifacts to (project-root)/build
@@ -26,10 +45,6 @@ test_job: &test_job
2645
- store_artifacts:
2746
path: build
2847

29-
- persist_to_workspace:
30-
root: .
31-
paths: .
32-
3348
jobs:
3449
build:
3550
<<: *defaults
@@ -40,79 +55,49 @@ jobs:
4055
- checkout
4156

4257
- restore_cache:
43-
# Reset the cache approx every release
44-
keys:
45-
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}-verified
46-
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}
47-
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}
48-
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}
49-
- dd-trace-java
58+
<<: *cache_keys
5059

5160
- run:
5261
name: Build Project
53-
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew -g=gradle-home clean check -x test --stacktrace --no-daemon
62+
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew clean check -x test --stacktrace --no-daemon
5463

5564
- save_cache:
5665
key: dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}
57-
paths: gradle-home
66+
paths: ~/.gradle
5867
background: true
5968

60-
- persist_to_workspace:
61-
root: .
62-
paths: .
63-
64-
# test_7:
65-
# <<: *defaults
66-
# docker:
67-
# - image: openjdk:7-jdk
68-
#
69-
# steps:
70-
# - attach_workspace:
71-
# at: .
72-
#
73-
# - run:
74-
# name: Fix EC parameters error # (ref https://github.com/travis-ci/travis-ci/issues/8503)
75-
# command: |
76-
# wget "https://downloads.bouncycastle.org/java/bcprov-ext-jdk15on-158.jar" -O "${JAVA_HOME}"/jre/lib/ext/bcprov-ext-jdk15on-158.jar && \
77-
# perl -pi.bak -e 's/^(security\.provider\.)([0-9]+)/$1.($2+1)/ge' /etc/java-7-openjdk/security/java.security && \
78-
# echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" | tee -a /etc/java-7-openjdk/security/java.security
79-
#
80-
# - run:
81-
# name: Run Tests
82-
# command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew -g=gradle-home test --parallel --stacktrace --no-daemon --max-workers=3
83-
#
84-
# - run:
85-
# name: Save Artifacts to (project-root)/build
86-
# when: always
87-
# command: .circleci/save_artifacts.sh
88-
#
89-
# - store_test_results:
90-
# path: build/test-results
91-
#
92-
# - store_artifacts:
93-
# path: build
69+
test_7:
70+
<<: *defaults
71+
<<: *test_job
72+
docker:
73+
- image: openjdk:7-jdk
9474

9575
test_8:
9676
<<: *defaults
9777
<<: *test_job
9878
docker:
9979
- image: circleci/openjdk:8-jdk
10080

101-
# test_9:
102-
# <<: *defaults
103-
# <<: *test_job
104-
# docker:
105-
# - image: circleci/openjdk:9-jdk
81+
test_9:
82+
<<: *defaults
83+
<<: *test_job
84+
docker:
85+
- image: circleci/openjdk:9-jdk
10686

107-
scan_and_save:
87+
scan_versions:
10888
<<: *defaults
10989
steps:
110-
- attach_workspace:
111-
at: .
90+
- checkout
91+
92+
- restore_cache:
93+
# Reset the cache approx every release
94+
keys:
95+
- dd-trace-java-version-scan-{{ checksum "dd-trace-java.gradle" }}
96+
- dd-trace-java-version-scan
11297

11398
- run:
11499
name: Verify Version Scan
115-
command: ./gradlew -g=gradle-home verifyVersionScan --parallel --stacktrace --no-daemon
100+
command: ./gradlew verifyVersionScan --parallel --stacktrace --no-daemon
116101

117102
- run:
118103
name: Save Artifacts to (project-root)/build
@@ -126,14 +111,16 @@ jobs:
126111
path: build
127112

128113
- save_cache:
129-
key: dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}-verified
130-
paths: gradle-home
114+
key: dd-trace-java-version-scan-{{ checksum "dd-trace-java.gradle" }}
115+
paths: ~/.gradle
131116

132117
deploy:
133118
<<: *defaults
134119
steps:
135-
- attach_workspace:
136-
at: .
120+
- checkout
121+
122+
- restore_cache:
123+
<<: *cache_keys
137124

138125
- run:
139126
name: Decode Signing Key
@@ -143,7 +130,7 @@ jobs:
143130
name: Publish master to Artifactory
144131
command: |
145132
if [ "${CIRCLE_BRANCH}" == "master" ]; then
146-
./gradlew -g=gradle-home -Psigning.keyId=${PGP_KEY_ID} \
133+
./gradlew -Psigning.keyId=${PGP_KEY_ID} \
147134
-Psigning.password=${PGP_KEY_PASS} \
148135
-Psigning.secretKeyRingFile=/home/circleci/dd-trace-java/.circleci/secring.gpg \
149136
-PbintrayUser=${BINTRAY_USER} \
@@ -158,26 +145,25 @@ workflows:
158145
jobs:
159146
- build
160147

161-
# - test_7:
162-
# requires:
163-
# - build
148+
- test_7:
149+
requires:
150+
- build
164151
- test_8:
165152
requires:
166153
- build
167-
# - test_9:
168-
# requires:
169-
# - build
170-
171-
- scan_and_save:
154+
- test_9:
155+
requires:
156+
- build
157+
- scan_versions:
172158
requires:
173159
- build
174-
# - test_7
175-
- test_8
176-
# - test_9
177160

178161
- deploy:
179162
requires:
180-
- scan_and_save
163+
- test_7
164+
- test_8
165+
- test_9
166+
- scan_versions
181167
filters:
182168
branches:
183169
only: master

dd-java-agent-ittests/dd-java-agent-ittests.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ description = 'dd-java-agent-ittests'
55
evaluationDependsOn(':dd-java-agent:tooling')
66
compileTestJava.dependsOn tasks.getByPath(':dd-java-agent:tooling:testClasses')
77

8-
if (!JavaVersion.current().isJava8Compatible()) {
8+
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
99
sourceSets {
1010
test {
1111
groovy {
12-
// These classes use Ratpack which requires Java 8.
12+
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
1313
exclude '**/TestHttpServer.groovy', '**/ApacheHttpClientTest.groovy'
1414
}
1515
}

dd-java-agent/instrumentation/datastax-cassandra-3.2/datastax-cassandra-3.2.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ versionScan {
3131

3232
apply from: "${rootDir}/gradle/java.gradle"
3333

34-
if (!JavaVersion.current().isJava8Compatible()) {
34+
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
3535
sourceSets {
3636
test {
3737
groovy {
38-
// These classes use Cassandra 3 which requires Java 8.
38+
// These classes use Cassandra 3 which requires Java 8. (Currently incompatible with Java 9.)
3939
exclude '**/CassandraClientTest.groovy'
4040
}
4141
}

dd-java-agent/instrumentation/okhttp-3/okhttp-3.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ versionScan {
1414

1515
apply from: "${rootDir}/gradle/java.gradle"
1616

17-
if (!JavaVersion.current().isJava8Compatible()) {
17+
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
1818
sourceSets {
1919
test {
2020
groovy {
21-
// These classes use Ratpack which requires Java 8.
21+
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
2222
exclude '**/OkHttp3Test.groovy'
2323
}
2424
}

dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/FilterChain3Instrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public AgentBuilder instrument(final AgentBuilder agentBuilder) {
5050
"io.opentracing.contrib.web.servlet.filter.ServletFilterSpanDecorator$1",
5151
"io.opentracing.contrib.web.servlet.filter.TracingFilter",
5252
"io.opentracing.contrib.web.servlet.filter.TracingFilter$1",
53-
getClass().getName() + "$FilterChain3Advice$TagSettingAsyncListener"))
53+
FilterChain3Advice.class.getName() + "$TagSettingAsyncListener"))
5454
.transform(
5555
DDAdvice.create()
5656
.advice(

dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/HttpServlet3Instrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public AgentBuilder instrument(final AgentBuilder agentBuilder) {
4848
"io.opentracing.contrib.web.servlet.filter.ServletFilterSpanDecorator$1",
4949
"io.opentracing.contrib.web.servlet.filter.TracingFilter",
5050
"io.opentracing.contrib.web.servlet.filter.TracingFilter$1",
51-
getClass().getName() + "$HttpServlet3Advice$TagSettingAsyncListener"))
51+
HttpServlet3Advice.class.getName() + "$TagSettingAsyncListener"))
5252
.transform(
5353
DDAdvice.create()
5454
.advice(

dd-java-agent/tooling/tooling.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apply from: "${rootDir}/gradle/java.gradle"
22

33
dependencies {
44
compile deps.bytebuddy
5+
compile deps.bytebuddyagent
56
compile deps.slf4j
67

78
testCompile deps.opentracing

dd-trace-ot/dd-trace-ot.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ whitelistedInstructionClasses += whitelistedBranchClasses += [
1717
'datadog.trace.common.sampling.PrioritySampling'
1818
]
1919

20-
if (!JavaVersion.current().isJava8Compatible()) {
20+
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
2121
sourceSets {
2222
test {
2323
groovy {
24-
// These classes use Ratpack which requires Java 8.
24+
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
2525
exclude 'datadog/trace/api/writer/DDApiTest.groovy'
2626
}
2727
}

gradle/dependencies.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ ext {
3535
],
3636
bytebuddy : dependencies.create(group: 'net.bytebuddy', name: 'byte-buddy', version: "${version.bytebuddy}"),
3737
autoservice: [
38-
dependencies.create(group: 'com.google.auto.service', name: 'auto-service', version: '1.0-rc4'),
38+
dependencies.create(group: 'com.google.auto.service', name: 'auto-service', version: '1.0-rc3'),
3939
dependencies.create(group: 'com.google.auto', name: 'auto-common', version: '0.3'),
40-
dependencies.create(group: 'com.google.guava', name: 'guava', version: '19.0'),
40+
dependencies.create(group: 'com.google.guava', name: 'guava', version: "${version.guava}"),
4141
],
4242

4343
// Testing

0 commit comments

Comments
 (0)