Эх сурвалжийг харах

Merge pull request #6306 from suztomo/linkage-monitor

Setting up JDK8 for Kokoro jobs
Paul Yang 6 жил өмнө
parent
commit
ee5f29f46e

+ 31 - 0
kokoro/linux/dockerfile/test/java_stretch/Dockerfile

@@ -0,0 +1,31 @@
+FROM debian:stretch
+
+# Install dependencies.  We start with the basic ones require to build protoc
+# and the C++ build
+RUN apt-get update && apt-get install -y \
+  autoconf \
+  autotools-dev \
+  build-essential \
+  bzip2 \
+  ccache \
+  curl \
+  gcc \
+  git \
+  libc6 \
+  libc6-dbg \
+  libc6-dev \
+  libgtest-dev \
+  libtool \
+  make \
+  parallel \
+  time \
+  wget \
+  && apt-get clean
+
+# Java dependencies
+RUN apt-get install -y \
+  # -- For all Java builds -- \
+  maven \
+  # -- For java_linkage_monitor \
+  openjdk-8-jdk \
+  && apt-get clean

+ 19 - 0
kokoro/linux/java_linkage_monitor/build.sh

@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# This is the top-level script we give to Kokoro as the entry point for
+# running the "pull request" project:
+#
+# This script selects a specific Dockerfile (for building a Docker image) and
+# a script to run inside that image.  Then we delegate to the general
+# build_and_run_docker.sh script.
+
+# Change to repo root
+cd $(dirname $0)/../../..
+
+export DOCKERHUB_ORGANIZATION=protobuftesting
+# The image of the Dockerfile sha1 is fetched from the organization
+export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/java_stretch
+export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh
+export OUTPUT_DIR=testoutput
+export TEST_SET="java_linkage_monitor"
+./kokoro/linux/build_and_run_docker.sh

+ 11 - 0
kokoro/linux/java_linkage_monitor/continuous.cfg

@@ -0,0 +1,11 @@
+# Config file for running tests in Kokoro
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/java_linkage_monitor/build.sh"
+timeout_mins: 120
+
+action {
+  define_artifacts {
+    regex: "**/sponge_log.xml"
+  }
+}

+ 12 - 0
kokoro/linux/java_linkage_monitor/presubmit.cfg

@@ -0,0 +1,12 @@
+# Config file for running Linkage Monitor in Kokoro
+# https://github.com/GoogleCloudPlatform/cloud-opensource-java/tree/master/linkage-monitor
+
+# Location of the build script in repository
+build_file: "protobuf/kokoro/linux/java_linkage_monitor/build.sh"
+timeout_mins: 120
+
+action {
+  define_artifacts {
+    regex: "**/sponge_log.xml"
+  }
+}

+ 9 - 0
tests.sh

@@ -168,6 +168,10 @@ build_golang() {
 use_java() {
   version=$1
   case "$version" in
+    jdk8)
+      export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin:$PATH
+      export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+      ;;
     jdk7)
       export PATH=/usr/lib/jvm/java-7-openjdk-amd64/bin:$PATH
       export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
@@ -226,6 +230,10 @@ build_java_compatibility() {
   cd java/compatibility_tests/v2.5.0
   ./test.sh 3.0.0-beta-4
 }
+build_java_linkage_monitor() {
+  use_java jdk8
+  # TODO(#6303): Call Linkage Monitor
+}
 
 build_objectivec_ios() {
   # Reused the build script that takes care of configuring and ensuring things
@@ -712,6 +720,7 @@ Usage: $0 { cpp |
             java_jdk7 |
             java_oracle7 |
             java_compatibility |
+            java_linkage_monitor |
             objectivec_ios |
             objectivec_ios_debug |
             objectivec_ios_release |