You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.6 KiB
59 lines
1.6 KiB
#!/bin/bash
|
|
# Copyright 2021 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Clean scratch directory if requested.
|
|
if [ "$1" = "--clean" ]; then
|
|
shift
|
|
echo "Cleaning scratch directory..."
|
|
rm -rf /workspace/scratch/*
|
|
fi
|
|
|
|
echo "Building ChromeOS dependencies..."
|
|
if ! make -j $(nproc) -C ci/build_environment TARGET_ARCH=aarch64 \
|
|
>/workspace/logs/build_environment.log 2>&1; then
|
|
echo "Failed to build ChromeOS dependencies"
|
|
cat /workspace/logs/build_environment.log
|
|
# Drop into an interactive shell for debugging.
|
|
if [[ $# -eq 0 ]]; then
|
|
/bin/bash
|
|
fi
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" = "--vm" ]; then
|
|
shift
|
|
echo "Starting testing vm..."
|
|
(cd /workspace/vm && screen -Sdm vm ./start_vm)
|
|
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="\
|
|
/workspace/src/platform/crosvm/ci/vm_tools/exec_binary_in_vm"
|
|
|
|
if [[ $# -eq 0 ]]; then
|
|
test_target="Virtual Machine (See 'screen -r vm' or 'ssh vm')"
|
|
else
|
|
test_target="Virtual Machine"
|
|
fi
|
|
export CROSVM_USE_VM=1
|
|
else
|
|
test_target="User-space emulation"
|
|
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="\
|
|
qemu-${target_arch}-static \
|
|
-E LD_LIBRARY_PATH=/workspace/scratch/lib"
|
|
fi
|
|
|
|
echo ""
|
|
echo "crosvm builder is ready:"
|
|
echo " Cargo version: $(cargo --version)"
|
|
echo " Target architecture: ${CARGO_BUILD_TARGET}"
|
|
echo " Test target: ${test_target}"
|
|
echo ""
|
|
|
|
# Run user provided command or interactive shell
|
|
if [[ $# -eq 0 ]]; then
|
|
/bin/bash
|
|
else
|
|
echo "$ $@"
|
|
/bin/bash -c "$@"
|
|
fi
|