From b2b1e2da46b6193726e9a23e70fd0e1777e53f1f Mon Sep 17 00:00:00 2001 From: Ben Clayton Date: Tue, 20 Oct 2020 11:12:26 +0100 Subject: [PATCH] Kokoro: Add configurations for GN presubmit Issue: #2421 --- kokoro/linux-clang-gn/build-docker.sh | 52 +++++++++++++++++++++++++++ kokoro/linux-clang-gn/build.sh | 48 +++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100755 kokoro/linux-clang-gn/build-docker.sh create mode 100755 kokoro/linux-clang-gn/build.sh diff --git a/kokoro/linux-clang-gn/build-docker.sh b/kokoro/linux-clang-gn/build-docker.sh new file mode 100755 index 000000000..d2ee0e9e1 --- /dev/null +++ b/kokoro/linux-clang-gn/build-docker.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# Copyright (C) 2020 Google, Inc. +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +set -e # Fail on any error. +set -x # Display commands being run. + +echo "Fetching depot_tools..." +mkdir -p /tmp/depot_tools +curl https://storage.googleapis.com/chrome-infra/depot_tools.zip -o /tmp/depot_tools.zip +unzip /tmp/depot_tools.zip -d /tmp/depot_tools +rm /tmp/depot_tools.zip +export PATH="/tmp/depot_tools:$PATH" + +echo "Syncing client..." +gclient sync --gclientfile=standalone.gclient +gn gen out/Default + +echo "Building..." +cd out/Default +ninja diff --git a/kokoro/linux-clang-gn/build.sh b/kokoro/linux-clang-gn/build.sh new file mode 100755 index 000000000..2f459d2de --- /dev/null +++ b/kokoro/linux-clang-gn/build.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# Copyright (C) 2020 Google, Inc. +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +set -e # Fail on any error. + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" +ROOT_DIR="$( cd "${SCRIPT_DIR}/../.." >/dev/null 2>&1 && pwd )" + +docker run --rm -i \ + --volume "${ROOT_DIR}:${ROOT_DIR}" \ + --workdir "${ROOT_DIR}" \ + --env ROOT_DIR="${ROOT_DIR}" \ + --env SCRIPT_DIR="${SCRIPT_DIR}" \ + --env BUILD_SHARED_LIBS="${BUILD_SHARED_LIBS:-0}" \ + --entrypoint "${SCRIPT_DIR}/build-docker.sh" \ + "gcr.io/shaderc-build/radial-build:latest"