aboutsummaryrefslogtreecommitdiff
path: root/kokoro/scripts/linux/build_dawn.sh
diff options
context:
space:
mode:
Diffstat (limited to 'kokoro/scripts/linux/build_dawn.sh')
-rwxr-xr-x[-rw-r--r--]kokoro/scripts/linux/build_dawn.sh113
1 files changed, 24 insertions, 89 deletions
diff --git a/kokoro/scripts/linux/build_dawn.sh b/kokoro/scripts/linux/build_dawn.sh
index c5572d8..75a0353 100644..100755
--- a/kokoro/scripts/linux/build_dawn.sh
+++ b/kokoro/scripts/linux/build_dawn.sh
@@ -1,5 +1,6 @@
#!/bin/bash
-# Copyright 2019 The Amber Authors.
+
+# Copyright (C) 2020 The Amber Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,95 +13,29 @@
# 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.
+#
+# Linux Build Script.
+
+set -e # Fail on any error.
-set -e # fail on error
-set -x # show commands
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
+ROOT_DIR="$( cd "${SCRIPT_DIR}/../../.." >/dev/null 2>&1 && pwd )"
-BUILD_ROOT=$PWD
-SRC=$PWD/github/amber
CONFIG=$1
COMPILER=$2
-
-BUILD_TYPE="Debug"
-
-CMAKE_C_CXX_COMPILER=""
-if [ $COMPILER = "clang" ]
-then
- sudo ln -s /usr/bin/clang-3.8 /usr/bin/clang
- sudo ln -s /usr/bin/clang++-3.8 /usr/bin/clang++
- CMAKE_C_CXX_COMPILER="-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
-fi
-
-# Possible configurations are:
-# DEBUG, RELEASE
-
-if [ $CONFIG = "RELEASE" ]
-then
- BUILD_TYPE="RelWithDebInfo"
-fi
-
-# removing the old version
-echo y | sudo apt-get purge --auto-remove cmake
-
-# Installing the 3.10.2 version
-wget http://www.cmake.org/files/v3.10/cmake-3.10.2.tar.gz
-tar -xvzf cmake-3.10.2.tar.gz
-cd cmake-3.10.2/
-./configure
-make
-sudo make install
-echo $(date): $(cmake --version)
-
-# Get ninja
-wget -q https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip
-unzip -q ninja-linux.zip
-export PATH="$PWD:$PATH"
-
-# Make a directory for Dawn dependencies
-mkdir -p $SRC/build/out/dawn-deps && cd $SRC/build/out/dawn-deps
-
-# Get depot tools
-git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
-export PATH="$PWD/depot_tools:$PATH"
-
-# Clone the repo as "dawn"
-git clone https://dawn.googlesource.com/dawn dawn && cd dawn
-DAWN=$PWD
-
-# Bootstrap the gclient configuration
-cp scripts/standalone.gclient .gclient
-
-# Fetch external dependencies and toolchains with gclient
-gclient sync
-
-# Generate build files
-mkdir -p out/Release
-touch out/Release/args.gn
-gn gen out/Release
-
-# build dawn
-ninja -C out/Release
-
-cd $SRC
-./tools/git-sync-deps
-
-cd $SRC/build
-
-# Invoke the build.
-BUILD_SHA=${KOKORO_GITHUB_COMMIT:-$KOKORO_GITHUB_PULL_REQUEST_COMMIT}
-echo $(date): Starting build...
-
-cmake -GNinja ..\
- $CMAKE_C_CXX_COMPILER\
- -DCMAKE_BUILD_TYPE=$BUILD_TYPE\
- -DDawn_INCLUDE_DIR=$DAWN/src/include\
- -DDawn_GEN_INCLUDE_DIR=$DAWN/out/Release/gen/src/include\
- -DDawn_LIBRARY_DIR=$DAWN/out/Release
-
-echo $(date): Build everything...
-ninja
-echo $(date): Build completed.
-
-echo $(date): Starting amber_unittests...
-./amber_unittests
-echo $(date): amber_unittests completed.
+EXTRA_CONFIG=${@:3}
+
+docker run --rm -i \
+ --volume "${ROOT_DIR}:${ROOT_DIR}" \
+ --volume "${KOKORO_ARTIFACTS_DIR}:${KOKORO_ARTIFACTS_DIR}" \
+ --workdir "${ROOT_DIR}" \
+ --env ROOT_DIR="${ROOT_DIR}" \
+ --env SCRIPT_DIR="${SCRIPT_DIR}" \
+ --env CONFIG="${CONFIG}" \
+ --env COMPILER="${COMPILER}" \
+ --env EXTRA_CONFIG="${EXTRA_CONFIG}" \
+ --env KOKORO_ARTIFACTS_DIR="${KOKORO_ARTIFACTS_DIR}" \
+ --entrypoint "${SCRIPT_DIR}/build_dawn-docker.sh" \
+ "gcr.io/shaderc-build/radial-build:latest"
+
+sudo chown -R "$(id -u):$(id -g)" "${ROOT_DIR}/build"