Merge pull request #201 from DataDog/tyler/java9-ci

Reenable java 7 and 9 CI
This commit is contained in:
Tyler Benson 2018-01-23 16:02:38 -05:00 committed by GitHub
commit 930b6e9f58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 75 additions and 88 deletions

View File

@ -6,14 +6,33 @@ defaults: &defaults
docker:
- image: circleci/openjdk:8
cache_keys: &cache_keys
# Reset the cache approx every release
keys:
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}
- dd-trace-java
test_job: &test_job
steps:
- attach_workspace:
at: .
- checkout
- restore_cache:
<<: *cache_keys
- run:
name: Fix EC parameters error # (ref https://github.com/travis-ci/travis-ci/issues/8503)
command: |
if [ "${CIRCLE_JOB}" == "test_7" ]; then
wget "https://downloads.bouncycastle.org/java/bcprov-ext-jdk15on-158.jar" -O "${JAVA_HOME}"/jre/lib/ext/bcprov-ext-jdk15on-158.jar && \
perl -pi.bak -e 's/^(security\.provider\.)([0-9]+)/$1.($2+1)/ge' /etc/java-7-openjdk/security/java.security && \
echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" | tee -a /etc/java-7-openjdk/security/java.security
fi
- run:
name: Run Tests
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew -g=gradle-home test --parallel --stacktrace --no-daemon --max-workers=3
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew test --parallel --stacktrace --no-daemon --max-workers=3
- run:
name: Save Artifacts to (project-root)/build
@ -26,10 +45,6 @@ test_job: &test_job
- store_artifacts:
path: build
- persist_to_workspace:
root: .
paths: .
jobs:
build:
<<: *defaults
@ -40,57 +55,22 @@ jobs:
- checkout
- restore_cache:
# Reset the cache approx every release
keys:
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}-verified
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}
- dd-trace-java-{{ checksum "dd-trace-java.gradle" }}
- dd-trace-java
<<: *cache_keys
- run:
name: Build Project
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew -g=gradle-home clean check -x test --stacktrace --no-daemon
command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew clean check -x test --stacktrace --no-daemon
- save_cache:
key: dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}
paths: gradle-home
paths: ~/.gradle
background: true
- persist_to_workspace:
root: .
paths: .
# test_7:
# <<: *defaults
# docker:
# - image: openjdk:7-jdk
#
# steps:
# - attach_workspace:
# at: .
#
# - run:
# name: Fix EC parameters error # (ref https://github.com/travis-ci/travis-ci/issues/8503)
# command: |
# wget "https://downloads.bouncycastle.org/java/bcprov-ext-jdk15on-158.jar" -O "${JAVA_HOME}"/jre/lib/ext/bcprov-ext-jdk15on-158.jar && \
# perl -pi.bak -e 's/^(security\.provider\.)([0-9]+)/$1.($2+1)/ge' /etc/java-7-openjdk/security/java.security && \
# echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" | tee -a /etc/java-7-openjdk/security/java.security
#
# - run:
# name: Run Tests
# command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx2G -Xms512M" ./gradlew -g=gradle-home test --parallel --stacktrace --no-daemon --max-workers=3
#
# - run:
# name: Save Artifacts to (project-root)/build
# when: always
# command: .circleci/save_artifacts.sh
#
# - store_test_results:
# path: build/test-results
#
# - store_artifacts:
# path: build
test_7:
<<: *defaults
<<: *test_job
docker:
- image: openjdk:7-jdk
test_8:
<<: *defaults
@ -98,21 +78,26 @@ jobs:
docker:
- image: circleci/openjdk:8-jdk
# test_9:
# <<: *defaults
# <<: *test_job
# docker:
# - image: circleci/openjdk:9-jdk
test_9:
<<: *defaults
<<: *test_job
docker:
- image: circleci/openjdk:9-jdk
scan_and_save:
scan_versions:
<<: *defaults
steps:
- attach_workspace:
at: .
- checkout
- restore_cache:
# Reset the cache approx every release
keys:
- dd-trace-java-version-scan-{{ checksum "dd-trace-java.gradle" }}
- dd-trace-java-version-scan
- run:
name: Verify Version Scan
command: ./gradlew -g=gradle-home verifyVersionScan --parallel --stacktrace --no-daemon
command: ./gradlew verifyVersionScan --parallel --stacktrace --no-daemon
- run:
name: Save Artifacts to (project-root)/build
@ -126,14 +111,16 @@ jobs:
path: build
- save_cache:
key: dd-trace-java-{{ checksum "dd-trace-java.gradle" }}-{{ .Branch }}-{{ .Revision }}-verified
paths: gradle-home
key: dd-trace-java-version-scan-{{ checksum "dd-trace-java.gradle" }}
paths: ~/.gradle
deploy:
<<: *defaults
steps:
- attach_workspace:
at: .
- checkout
- restore_cache:
<<: *cache_keys
- run:
name: Decode Signing Key
@ -143,7 +130,7 @@ jobs:
name: Publish master to Artifactory
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
./gradlew -g=gradle-home -Psigning.keyId=${PGP_KEY_ID} \
./gradlew -Psigning.keyId=${PGP_KEY_ID} \
-Psigning.password=${PGP_KEY_PASS} \
-Psigning.secretKeyRingFile=/home/circleci/dd-trace-java/.circleci/secring.gpg \
-PbintrayUser=${BINTRAY_USER} \
@ -158,26 +145,25 @@ workflows:
jobs:
- build
# - test_7:
# requires:
# - build
- test_7:
requires:
- build
- test_8:
requires:
- build
# - test_9:
# requires:
# - build
- scan_and_save:
- test_9:
requires:
- build
- scan_versions:
requires:
- build
# - test_7
- test_8
# - test_9
- deploy:
requires:
- scan_and_save
- test_7
- test_8
- test_9
- scan_versions
filters:
branches:
only: master

View File

@ -5,11 +5,11 @@ description = 'dd-java-agent-ittests'
evaluationDependsOn(':dd-java-agent:tooling')
compileTestJava.dependsOn tasks.getByPath(':dd-java-agent:tooling:testClasses')
if (!JavaVersion.current().isJava8Compatible()) {
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
sourceSets {
test {
groovy {
// These classes use Ratpack which requires Java 8.
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
exclude '**/TestHttpServer.groovy', '**/ApacheHttpClientTest.groovy'
}
}

View File

@ -31,11 +31,11 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
if (!JavaVersion.current().isJava8Compatible()) {
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
sourceSets {
test {
groovy {
// These classes use Cassandra 3 which requires Java 8.
// These classes use Cassandra 3 which requires Java 8. (Currently incompatible with Java 9.)
exclude '**/CassandraClientTest.groovy'
}
}

View File

@ -14,11 +14,11 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
if (!JavaVersion.current().isJava8Compatible()) {
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
sourceSets {
test {
groovy {
// These classes use Ratpack which requires Java 8.
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
exclude '**/OkHttp3Test.groovy'
}
}

View File

@ -50,7 +50,7 @@ public final class FilterChain3Instrumentation implements Instrumenter {
"io.opentracing.contrib.web.servlet.filter.ServletFilterSpanDecorator$1",
"io.opentracing.contrib.web.servlet.filter.TracingFilter",
"io.opentracing.contrib.web.servlet.filter.TracingFilter$1",
getClass().getName() + "$FilterChain3Advice$TagSettingAsyncListener"))
FilterChain3Advice.class.getName() + "$TagSettingAsyncListener"))
.transform(
DDAdvice.create()
.advice(

View File

@ -48,7 +48,7 @@ public final class HttpServlet3Instrumentation implements Instrumenter {
"io.opentracing.contrib.web.servlet.filter.ServletFilterSpanDecorator$1",
"io.opentracing.contrib.web.servlet.filter.TracingFilter",
"io.opentracing.contrib.web.servlet.filter.TracingFilter$1",
getClass().getName() + "$HttpServlet3Advice$TagSettingAsyncListener"))
HttpServlet3Advice.class.getName() + "$TagSettingAsyncListener"))
.transform(
DDAdvice.create()
.advice(

View File

@ -2,6 +2,7 @@ apply from: "${rootDir}/gradle/java.gradle"
dependencies {
compile deps.bytebuddy
compile deps.bytebuddyagent
compile deps.slf4j
testCompile deps.opentracing

View File

@ -17,11 +17,11 @@ whitelistedInstructionClasses += whitelistedBranchClasses += [
'datadog.trace.common.sampling.PrioritySampling'
]
if (!JavaVersion.current().isJava8Compatible()) {
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
sourceSets {
test {
groovy {
// These classes use Ratpack which requires Java 8.
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
exclude 'datadog/trace/api/writer/DDApiTest.groovy'
}
}

View File

@ -35,9 +35,9 @@ ext {
],
bytebuddy : dependencies.create(group: 'net.bytebuddy', name: 'byte-buddy', version: "${version.bytebuddy}"),
autoservice: [
dependencies.create(group: 'com.google.auto.service', name: 'auto-service', version: '1.0-rc4'),
dependencies.create(group: 'com.google.auto.service', name: 'auto-service', version: '1.0-rc3'),
dependencies.create(group: 'com.google.auto', name: 'auto-common', version: '0.3'),
dependencies.create(group: 'com.google.guava', name: 'guava', version: '19.0'),
dependencies.create(group: 'com.google.guava', name: 'guava', version: "${version.guava}"),
],
// Testing