Set up RISCV Kokoro for CI tests (#5762)

* Set up RISCV kokoro for CI tests

The sets up Kokoro CI tests as part of https://github.com/google/iree/issues/5751
Scripts at build_tools/kokoro/gcp_ubuntu/cmake/linux/riscv64/
diff --git a/build_tools/cmake/build_riscv.sh b/build_tools/cmake/build_riscv.sh
new file mode 100755
index 0000000..f8775de
--- /dev/null
+++ b/build_tools/cmake/build_riscv.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Cross-compile the IREE project towards RISCV with CMake. Designed for CI,
+# but can be run manually. This uses previously cached build results and does
+# not clear build directories.
+#
+# Host binaries (e.g. compiler tools) will be built and installed in build-host/
+# RISCV binaries (e.g. tests) will be built in build-riscv/.
+
+set -x
+set -e
+
+ROOT_DIR="${ROOT_DIR:-$(git rev-parse --show-toplevel)}"
+CMAKE_BIN="${CMAKE_BIN:-$(which cmake)}"
+
+"${CMAKE_BIN?}" --version
+ninja --version
+
+cd "${ROOT_DIR?}"
+
+# --------------------------------------------------------------------------- #
+# Build for the host.
+BUILD_HOST_DIR="${BUILD_HOST_DIR:-$ROOT_DIR/build-host}"
+if [[ -d "${BUILD_HOST_DIR?}" ]]; then
+  echo "build-host directory already exists. Will use cached results there."
+else
+  echo "build-host directory does not already exist. Creating a new one."
+  mkdir -p "${BUILD_HOST_DIR?}"
+fi
+
+# Configure, build, install.
+"${CMAKE_BIN?}" -G Ninja -B "${BUILD_HOST_DIR?}" \
+  -DCMAKE_INSTALL_PREFIX="${BUILD_HOST_DIR?}/install" \
+  -DIREE_BUILD_COMPILER=ON \
+  -DIREE_BUILD_TESTS=OFF \
+  -DIREE_BUILD_SAMPLES=OFF \
+  "${ROOT_DIR?}"
+"${CMAKE_BIN?}" --build "${BUILD_HOST_DIR?}" --target install
+# --------------------------------------------------------------------------- #
+
+
+# --------------------------------------------------------------------------- #
+# Build for the target (riscv64).
+BUILD_RISCV_DIR="${BUILD_RISCV_DIR:-$ROOT_DIR/build-riscv}"
+if [[ -d "${BUILD_RISCV_DIR?}" ]]; then
+  echo "build-riscv directory already exists. Will use cached results there."
+else
+  echo "build-riscv directory does not already exist. Creating a new one."
+  mkdir -p "${BUILD_RISCV_DIR?}"
+fi
+
+# Configure riscv, then build.
+"${CMAKE_BIN?}" -G Ninja -B "${BUILD_RISCV_DIR?}" \
+  -DCMAKE_TOOLCHAIN_FILE="$(realpath ${ROOT_DIR?}/build_tools/cmake/riscv.toolchain.cmake)" \
+  -DIREE_HOST_BINARY_ROOT="$(realpath ${BUILD_HOST_DIR?}/install)" \
+  -DIREE_BUILD_COMPILER=OFF \
+  -DIREE_ENABLE_MLIR=OFF \
+  -DIREE_BUILD_TESTS=ON \
+  -DIREE_BUILD_SAMPLES=OFF \
+  -DIREE_BUILD_EMBEDDING_SAMPLES=ON \
+  -DRISCV_TOOLCHAIN_ROOT="${RISCV_TOOLCHAIN_ROOT?}" \
+  "${ROOT_DIR?}"
+"${CMAKE_BIN?}" --build "${BUILD_RISCV_DIR?}"