57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
#!/bin/bash
 | 
						|
# Copyright (c) 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
 | 
						|
#
 | 
						|
#     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.
 | 
						|
#
 | 
						|
# Linux Build Script.
 | 
						|
 | 
						|
# Fail on any error.
 | 
						|
set -e
 | 
						|
 | 
						|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
 | 
						|
ROOT_DIR="$( cd "${SCRIPT_DIR}/../../.." >/dev/null 2>&1 && pwd )"
 | 
						|
 | 
						|
CONFIG=$1
 | 
						|
COMPILER=$2
 | 
						|
TOOL=$3
 | 
						|
BUILD_SHA=${KOKORO_GITHUB_COMMIT:-$KOKORO_GITHUB_PULL_REQUEST_COMMIT}
 | 
						|
 | 
						|
# "--privileged" is required to run ptrace in the asan builds.
 | 
						|
docker run --rm -i \
 | 
						|
  --privileged \
 | 
						|
  --volume "${ROOT_DIR}:${ROOT_DIR}" \
 | 
						|
  --volume "${KOKORO_ARTIFACTS_DIR}:${KOKORO_ARTIFACTS_DIR}" \
 | 
						|
  --workdir "${ROOT_DIR}" \
 | 
						|
  --env SCRIPT_DIR=${SCRIPT_DIR} \
 | 
						|
  --env ROOT_DIR=${ROOT_DIR} \
 | 
						|
  --env CONFIG=${CONFIG} \
 | 
						|
  --env COMPILER=${COMPILER} \
 | 
						|
  --env TOOL=${TOOL} \
 | 
						|
  --env KOKORO_ARTIFACTS_DIR="${KOKORO_ARTIFACTS_DIR}" \
 | 
						|
  --env BUILD_SHA="${BUILD_SHA}" \
 | 
						|
  --entrypoint "${SCRIPT_DIR}/build-docker.sh" \
 | 
						|
  "gcr.io/shaderc-build/radial-build:latest"
 | 
						|
 | 
						|
 | 
						|
# chown the given directory to the current user, if it exists.
 | 
						|
# Docker creates files with the root user - this can upset the Kokoro artifact copier.
 | 
						|
function chown_dir() {
 | 
						|
  dir=$1
 | 
						|
  if [[ -d "$dir" ]]; then
 | 
						|
    sudo chown -R "$(id -u):$(id -g)" "$dir"
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
chown_dir "${ROOT_DIR}/build"
 | 
						|
chown_dir "${ROOT_DIR}/external"
 |