summaryrefslogtreecommitdiffhomepage
path: root/kokoro/kythe
diff options
context:
space:
mode:
Diffstat (limited to 'kokoro/kythe')
-rw-r--r--kokoro/kythe/generate_xrefs.cfg28
-rw-r--r--kokoro/kythe/generate_xrefs.sh57
2 files changed, 85 insertions, 0 deletions
diff --git a/kokoro/kythe/generate_xrefs.cfg b/kokoro/kythe/generate_xrefs.cfg
new file mode 100644
index 000000000..03e65c54e
--- /dev/null
+++ b/kokoro/kythe/generate_xrefs.cfg
@@ -0,0 +1,28 @@
+build_file: "gvisor/kokoro/kythe/generate_xrefs.sh"
+
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73898
+ keyname: "kokoro-rbe-service-account"
+ }
+ }
+}
+
+bazel_setting {
+ project_id: "gvisor-rbe"
+ local_execution: false
+ auth_credential: {
+ keystore_config_id: 73898
+ keyname: "kokoro-rbe-service-account"
+ }
+ bes_backend_address: "buildeventservice.googleapis.com"
+ foundry_backend_address: "remotebuildexecution.googleapis.com"
+ upsalite_frontend_address: "https://source.cloud.google.com"
+}
+
+action {
+ define_artifacts {
+ regex: "*.kzip"
+ }
+}
diff --git a/kokoro/kythe/generate_xrefs.sh b/kokoro/kythe/generate_xrefs.sh
new file mode 100644
index 000000000..471b90e92
--- /dev/null
+++ b/kokoro/kythe/generate_xrefs.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+# Copyright 2019 The gVisor Authors.
+#
+# 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
+#
+# http://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.
+
+set -ex
+
+# Install the latest version of Bazel. The default on Kokoro images is out of
+# date.
+if command -v use_bazel.sh >/dev/null; then
+ use_bazel.sh latest
+fi
+bazel version
+
+# We need to use python 3.6 (the Kokoro PY3 default is 3.4) to compile `//...`
+# because benchmarktools requires a version of `requests` that is not a
+# available in 3.4.
+pyenv versions
+pyenv global 3.6.1
+
+readonly KYTHE_VERSION='v0.0.37'
+readonly WORKDIR="$(mktemp -d)"
+readonly KYTHE_DIR="${WORKDIR}/kythe-${KYTHE_VERSION}"
+if [[ -n "$KOKORO_GIT_COMMIT" ]]; then
+ readonly KZIP_FILENAME="${KOKORO_ARTIFACTS_DIR}/${KOKORO_GIT_COMMIT}.kzip"
+else
+ readonly KZIP_FILENAME="$(git rev-parse HEAD).kzip"
+fi
+
+wget -q -O "${WORKDIR}/kythe.tar.gz" \
+ "https://github.com/kythe/kythe/releases/download/${KYTHE_VERSION}/kythe-${KYTHE_VERSION}.tar.gz"
+tar --no-same-owner -xzf "${WORKDIR}/kythe.tar.gz" --directory "$WORKDIR"
+
+if [[ -n "$KOKORO_ARTIFACTS_DIR" ]]; then
+ cd "${KOKORO_ARTIFACTS_DIR}/github/gvisor"
+fi
+bazel \
+ --bazelrc="${KYTHE_DIR}/extractors.bazelrc" \
+ build \
+ --override_repository kythe_release="${KYTHE_DIR}" \
+ --define=kythe_corpus=gvisor.dev \
+ //...
+
+"${KYTHE_DIR}/tools/kzip" merge \
+ --output "$KZIP_FILENAME" \
+ $(find -L bazel-out/*/extra_actions/ -name '*.kzip')