aboutsummaryrefslogtreecommitdiff
path: root/buildscripts/kokoro
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/kokoro')
-rw-r--r--buildscripts/kokoro/linux.cfg5
-rwxr-xr-xbuildscripts/kokoro/linux.sh23
-rw-r--r--buildscripts/kokoro/linux_build.cfg19
-rw-r--r--buildscripts/kokoro/linux_example_bazel.cfg10
-rw-r--r--buildscripts/kokoro/linux_example_format.cfg9
-rw-r--r--buildscripts/kokoro/linux_example_gradle.cfg10
-rw-r--r--buildscripts/kokoro/linux_example_license.cfg10
-rw-r--r--buildscripts/kokoro/linux_example_maven.cfg10
-rw-r--r--buildscripts/kokoro/linux_framework.cfg10
-rw-r--r--buildscripts/kokoro/linux_git_history.cfg10
-rwxr-xr-xbuildscripts/kokoro/linux_presubmit.sh90
-rw-r--r--buildscripts/kokoro/macos.cfg6
-rwxr-xr-xbuildscripts/kokoro/windows.bat21
-rw-r--r--buildscripts/kokoro/windows.cfg5
14 files changed, 238 insertions, 0 deletions
diff --git a/buildscripts/kokoro/linux.cfg b/buildscripts/kokoro/linux.cfg
new file mode 100644
index 00000000..0d9e253b
--- /dev/null
+++ b/buildscripts/kokoro/linux.cfg
@@ -0,0 +1,5 @@
+# Config file for internal CI
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux.sh"
+timeout_mins: 60 \ No newline at end of file
diff --git a/buildscripts/kokoro/linux.sh b/buildscripts/kokoro/linux.sh
new file mode 100755
index 00000000..e8aa21be
--- /dev/null
+++ b/buildscripts/kokoro/linux.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# This file is used for Linux builds.
+# To run locally:
+# ./buildscripts/kokoro/linux.sh
+
+# This script assumes `set -e`. Removing it may lead to undefined behavior.
+set -exu -o pipefail
+
+# It would be nicer to use 'readlink -f' here but osx does not support it.
+readonly OPENCENSUS_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)"
+
+# cd to the root dir of opencensus-java
+cd $(dirname $0)/../..
+
+# Run tests
+./gradlew clean build
+
+OS=`uname`
+# Check the example only on Linux.
+if [ "$OS" = "Linux" ] ; then
+ pushd examples; ./gradlew clean assemble check --stacktrace; popd
+fi
diff --git a/buildscripts/kokoro/linux_build.cfg b/buildscripts/kokoro/linux_build.cfg
new file mode 100644
index 00000000..ddd15937
--- /dev/null
+++ b/buildscripts/kokoro/linux_build.cfg
@@ -0,0 +1,19 @@
+# Config file for child task BUILD
+
+env_vars {
+ key: "TASK"
+ value: "BUILD"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
+
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73495
+ keyname: "codecov-auth-token"
+ }
+ }
+}
diff --git a/buildscripts/kokoro/linux_example_bazel.cfg b/buildscripts/kokoro/linux_example_bazel.cfg
new file mode 100644
index 00000000..3f4c872e
--- /dev/null
+++ b/buildscripts/kokoro/linux_example_bazel.cfg
@@ -0,0 +1,10 @@
+# Config file for child task BUILD_EXAMPLES_BAZEL
+
+env_vars {
+ key: "TASK"
+ value: "BUILD_EXAMPLES_BAZEL"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/linux_example_format.cfg b/buildscripts/kokoro/linux_example_format.cfg
new file mode 100644
index 00000000..6f9a3dc1
--- /dev/null
+++ b/buildscripts/kokoro/linux_example_format.cfg
@@ -0,0 +1,9 @@
+# Config file for child task CHECK_EXAMPLES_FORMAT
+env_vars {
+ key: "TASK"
+ value: "CHECK_EXAMPLES_FORMAT"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/linux_example_gradle.cfg b/buildscripts/kokoro/linux_example_gradle.cfg
new file mode 100644
index 00000000..7c14df77
--- /dev/null
+++ b/buildscripts/kokoro/linux_example_gradle.cfg
@@ -0,0 +1,10 @@
+# Config file for child task BUILD_EXAMPLES_GRADLE
+
+env_vars {
+ key: "TASK"
+ value: "BUILD_EXAMPLES_GRADLE"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/linux_example_license.cfg b/buildscripts/kokoro/linux_example_license.cfg
new file mode 100644
index 00000000..19cc67d0
--- /dev/null
+++ b/buildscripts/kokoro/linux_example_license.cfg
@@ -0,0 +1,10 @@
+# Config file for child task CHECK_EXAMPLES_LICENSE
+
+env_vars {
+ key: "TASK"
+ value: "CHECK_EXAMPLES_LICENSE"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/linux_example_maven.cfg b/buildscripts/kokoro/linux_example_maven.cfg
new file mode 100644
index 00000000..98f4a3b9
--- /dev/null
+++ b/buildscripts/kokoro/linux_example_maven.cfg
@@ -0,0 +1,10 @@
+# Config file for child task BUILD_EXAMPLES_MAVEN
+
+env_vars {
+ key: "TASK"
+ value: "BUILD_EXAMPLES_MAVEN"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/linux_framework.cfg b/buildscripts/kokoro/linux_framework.cfg
new file mode 100644
index 00000000..112fc206
--- /dev/null
+++ b/buildscripts/kokoro/linux_framework.cfg
@@ -0,0 +1,10 @@
+# Config file for child task CHECKER_FRAMEWORK
+
+env_vars {
+ key: "TASK"
+ value: "CHECKER_FRAMEWORK"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/linux_git_history.cfg b/buildscripts/kokoro/linux_git_history.cfg
new file mode 100644
index 00000000..5677835a
--- /dev/null
+++ b/buildscripts/kokoro/linux_git_history.cfg
@@ -0,0 +1,10 @@
+# Config file for child task CHECK_GIT_HISTORY
+
+env_vars {
+ key: "TASK"
+ value: "CHECK_GIT_HISTORY"
+}
+
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux_presubmit.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/linux_presubmit.sh b/buildscripts/kokoro/linux_presubmit.sh
new file mode 100755
index 00000000..bb1281b4
--- /dev/null
+++ b/buildscripts/kokoro/linux_presubmit.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+# This file is used for Linux builds.
+# It expects TASK environment variable is defined.
+# To run locally:
+# ./buildscripts/kokoro/linux.sh
+
+# This script assumes `set -e`. Removing it may lead to undefined behavior.
+set -exu -o pipefail
+
+# It would be nicer to use 'readlink -f' here but osx does not support it.
+readonly OPENCENSUS_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)"
+
+# cd to the root dir of opencensus-java
+cd $(dirname $0)/../..
+
+valid_tasks() {
+ echo "Valid tasks are"
+ echo ""
+ echo "- BUILD"
+ echo "- BUILD_EXAMPLES_BAZEL"
+ echo "- BUILD_EXAMPLES_GRADLE"
+ echo "- BUILD_EXAMPLES_MAVEN"
+ echo "- CHECKER_FRAMEWORK"
+ echo "- CHECK_EXAMPLES_FORMAT"
+ echo "- CHECK_EXAMPLES_LICENSE"
+ echo "- CHECK_GIT_HISTORY"
+}
+
+if [[ ! -v TASK ]]; then
+ set +x
+ echo "TASK not set in environment"
+ valid_tasks
+ exit 1
+fi
+
+case "$TASK" in
+ "CHECK_GIT_HISTORY")
+ python ./scripts/check-git-history.py
+ ;;
+ "BUILD")
+ ./gradlew clean assemble --stacktrace
+ ./gradlew check :opencensus-all:jacocoTestReport
+ ./gradlew verGJF
+
+ # Run codecoverage reporting only if the script is running
+ # as a part of KOKORO BUILD. If it is outside of kokoro
+ # then there is no access to the codecov token and hence
+ # there is no point in running it.
+ if [[ -v KOKORO_BUILD_NUMBER ]]; then
+ # Get token from file located at
+ # $KOKORO_KEYSTORE_DIR/73495_codecov-auth-token
+ if [ -f $KOKORO_KEYSTORE_DIR/73495_codecov-auth-token ] ; then
+ curl -s https://codecov.io/bash | bash -s -- -Z -t @$KOKORO_KEYSTORE_DIR/73495_codecov-auth-token
+ else
+ echo "Codecov token file not found"
+ exit 1
+ fi
+ else
+ echo "Skipping codecov reporting"
+ fi
+ ;;
+ "CHECKER_FRAMEWORK")
+ ./gradlew clean assemble -PcheckerFramework=true
+ ;;
+ "CHECK_EXAMPLES_LICENSE")
+ curl -L -o checkstyle-8.12-all.jar https://github.com/checkstyle/checkstyle/releases/download/checkstyle-8.12/checkstyle-8.12-all.jar
+ java -DrootDir=. -jar checkstyle-8.12-all.jar -c buildscripts/checkstyle.xml examples/src/
+ ;;
+ "CHECK_EXAMPLES_FORMAT")
+ curl -L -o google-java-format-1.5-all-deps.jar \
+ https://github.com/google/google-java-format/releases/download/google-java-format-1.5/google-java-format-1.5-all-deps.jar
+ java -jar google-java-format-1.5-all-deps.jar --set-exit-if-changed --dry-run `find examples/src/ -name '*.java'`
+ ;;
+ "BUILD_EXAMPLES_GRADLE")
+ pushd examples && ./gradlew clean assemble --stacktrace && popd
+ ;;
+ "BUILD_EXAMPLES_MAVEN")
+ pushd examples && mvn clean package appassembler:assemble -e && popd
+ ;;
+ "BUILD_EXAMPLES_BAZEL")
+ pushd examples && bazel clean && bazel build :all && popd
+ ;;
+ *)
+ set +x
+ echo "Unknown task $TASK"
+ valid_tasks
+ exit 1
+ ;;
+esac
diff --git a/buildscripts/kokoro/macos.cfg b/buildscripts/kokoro/macos.cfg
new file mode 100644
index 00000000..fe3a9803
--- /dev/null
+++ b/buildscripts/kokoro/macos.cfg
@@ -0,0 +1,6 @@
+# Config file for internal CI
+
+# Same script is used for macos as it is for Linux.
+# Location of the continuous shell script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/linux.sh"
+timeout_mins: 60
diff --git a/buildscripts/kokoro/windows.bat b/buildscripts/kokoro/windows.bat
new file mode 100755
index 00000000..7787df07
--- /dev/null
+++ b/buildscripts/kokoro/windows.bat
@@ -0,0 +1,21 @@
+@rem ##########################################################################
+@rem
+@rem Script to set up Kokoro worker and run Windows tests
+@rem
+@rem ##########################################################################
+@rem
+@rem To run locally execute 'buildscript\kokoro\windows.bat'.
+type c:\VERSION
+
+@rem Enter repo root
+cd /d %~dp0\..\..
+
+@rem Clear JAVA_HOME to prevent a different Java version from being used
+set JAVA_HOME=
+set PATH=C:\Program Files\java\jdk1.8.0_152\bin;%PATH%
+
+cmd.exe /C "%cd%\gradlew.bat" clean build || exit /b 1
+pushd examples
+cmd.exe /C "%cd%\gradlew.bat" clean assemble check --stacktrace || exit /b 1
+popd
+
diff --git a/buildscripts/kokoro/windows.cfg b/buildscripts/kokoro/windows.cfg
new file mode 100644
index 00000000..e5ff9b08
--- /dev/null
+++ b/buildscripts/kokoro/windows.cfg
@@ -0,0 +1,5 @@
+# Config file for internal CI
+
+# Location of the continuous windows batch script in repository.
+build_file: "opencensus-java/buildscripts/kokoro/windows.bat"
+timeout_mins: 60