xref: /aosp_15_r20/external/opencensus-java/buildscripts/kokoro/linux_presubmit.sh (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1*a24ffb47SSadaf Ebrahimi#!/bin/bash
2*a24ffb47SSadaf Ebrahimi
3*a24ffb47SSadaf Ebrahimi# This file is used for Linux builds.
4*a24ffb47SSadaf Ebrahimi# It expects TASK environment variable is defined.
5*a24ffb47SSadaf Ebrahimi# To run locally:
6*a24ffb47SSadaf Ebrahimi#  ./buildscripts/kokoro/linux.sh
7*a24ffb47SSadaf Ebrahimi
8*a24ffb47SSadaf Ebrahimi# This script assumes `set -e`. Removing it may lead to undefined behavior.
9*a24ffb47SSadaf Ebrahimiset -exu -o pipefail
10*a24ffb47SSadaf Ebrahimi
11*a24ffb47SSadaf Ebrahimi# It would be nicer to use 'readlink -f' here but osx does not support it.
12*a24ffb47SSadaf Ebrahimireadonly OPENCENSUS_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)"
13*a24ffb47SSadaf Ebrahimi
14*a24ffb47SSadaf Ebrahimi# cd to the root dir of opencensus-java
15*a24ffb47SSadaf Ebrahimicd $(dirname $0)/../..
16*a24ffb47SSadaf Ebrahimi
17*a24ffb47SSadaf Ebrahimivalid_tasks() {
18*a24ffb47SSadaf Ebrahimi  echo "Valid tasks are"
19*a24ffb47SSadaf Ebrahimi  echo ""
20*a24ffb47SSadaf Ebrahimi  echo "- BUILD"
21*a24ffb47SSadaf Ebrahimi  echo "- BUILD_EXAMPLES_GRADLE"
22*a24ffb47SSadaf Ebrahimi  echo "- BUILD_EXAMPLES_MAVEN"
23*a24ffb47SSadaf Ebrahimi  echo "- CHECKER_FRAMEWORK"
24*a24ffb47SSadaf Ebrahimi  echo "- CHECK_GIT_HISTORY"
25*a24ffb47SSadaf Ebrahimi}
26*a24ffb47SSadaf Ebrahimi
27*a24ffb47SSadaf Ebrahimiif [[ ! -v TASK ]]; then
28*a24ffb47SSadaf Ebrahimi  set +x
29*a24ffb47SSadaf Ebrahimi  echo "TASK not set in environment"
30*a24ffb47SSadaf Ebrahimi  valid_tasks
31*a24ffb47SSadaf Ebrahimi  exit 1
32*a24ffb47SSadaf Ebrahimifi
33*a24ffb47SSadaf Ebrahimi
34*a24ffb47SSadaf Ebrahimicase "$TASK" in
35*a24ffb47SSadaf Ebrahimi  "CHECK_GIT_HISTORY")
36*a24ffb47SSadaf Ebrahimi    python ./buildscripts/check-git-history.py
37*a24ffb47SSadaf Ebrahimi    ;;
38*a24ffb47SSadaf Ebrahimi  "BUILD")
39*a24ffb47SSadaf Ebrahimi    ./gradlew clean assemble --stacktrace
40*a24ffb47SSadaf Ebrahimi    ./gradlew check :opencensus-all:jacocoTestReport
41*a24ffb47SSadaf Ebrahimi    ./gradlew verGJF
42*a24ffb47SSadaf Ebrahimi
43*a24ffb47SSadaf Ebrahimi    # Run codecoverage reporting only if the script is running
44*a24ffb47SSadaf Ebrahimi    # as a part of KOKORO BUILD. If it is outside of kokoro
45*a24ffb47SSadaf Ebrahimi    # then there is no access to the codecov token and hence
46*a24ffb47SSadaf Ebrahimi    # there is no point in running it.
47*a24ffb47SSadaf Ebrahimi    if [[ -v KOKORO_BUILD_NUMBER ]]; then
48*a24ffb47SSadaf Ebrahimi      # Get token from file located at
49*a24ffb47SSadaf Ebrahimi      # $KOKORO_KEYSTORE_DIR/73495_codecov-auth-token
50*a24ffb47SSadaf Ebrahimi      if [ -f $KOKORO_KEYSTORE_DIR/73495_codecov-auth-token ] ; then
51*a24ffb47SSadaf Ebrahimi        curl -s https://codecov.io/bash | bash -s -- -Z -t @$KOKORO_KEYSTORE_DIR/73495_codecov-auth-token
52*a24ffb47SSadaf Ebrahimi      else
53*a24ffb47SSadaf Ebrahimi        echo "Codecov token file not found"
54*a24ffb47SSadaf Ebrahimi        exit 1
55*a24ffb47SSadaf Ebrahimi      fi
56*a24ffb47SSadaf Ebrahimi    else
57*a24ffb47SSadaf Ebrahimi      echo "Skipping codecov reporting"
58*a24ffb47SSadaf Ebrahimi    fi
59*a24ffb47SSadaf Ebrahimi    ;;
60*a24ffb47SSadaf Ebrahimi  "CHECKER_FRAMEWORK")
61*a24ffb47SSadaf Ebrahimi    ./gradlew clean assemble -PcheckerFramework=true
62*a24ffb47SSadaf Ebrahimi    ;;
63*a24ffb47SSadaf Ebrahimi  "BUILD_EXAMPLES_GRADLE")
64*a24ffb47SSadaf Ebrahimi    pushd examples && ./gradlew clean assemble --stacktrace && ./gradlew check && ./gradlew verGJF && popd
65*a24ffb47SSadaf Ebrahimi    ;;
66*a24ffb47SSadaf Ebrahimi  "BUILD_EXAMPLES_MAVEN")
67*a24ffb47SSadaf Ebrahimi    pushd examples && mvn clean package appassembler:assemble -e && popd
68*a24ffb47SSadaf Ebrahimi    ;;
69*a24ffb47SSadaf Ebrahimi  *)
70*a24ffb47SSadaf Ebrahimi    set +x
71*a24ffb47SSadaf Ebrahimi    echo "Unknown task $TASK"
72*a24ffb47SSadaf Ebrahimi    valid_tasks
73*a24ffb47SSadaf Ebrahimi    exit 1
74*a24ffb47SSadaf Ebrahimi    ;;
75*a24ffb47SSadaf Ebrahimiesac
76