diff options
Diffstat (limited to 'buildscripts/kokoro')
-rw-r--r-- | buildscripts/kokoro/linux.cfg | 5 | ||||
-rwxr-xr-x | buildscripts/kokoro/linux.sh | 23 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_build.cfg | 19 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_example_bazel.cfg | 10 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_example_format.cfg | 9 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_example_gradle.cfg | 10 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_example_license.cfg | 10 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_example_maven.cfg | 10 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_framework.cfg | 10 | ||||
-rw-r--r-- | buildscripts/kokoro/linux_git_history.cfg | 10 | ||||
-rwxr-xr-x | buildscripts/kokoro/linux_presubmit.sh | 90 | ||||
-rw-r--r-- | buildscripts/kokoro/macos.cfg | 6 | ||||
-rwxr-xr-x | buildscripts/kokoro/windows.bat | 21 | ||||
-rw-r--r-- | buildscripts/kokoro/windows.cfg | 5 |
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 |