blob: ec4c0765b9a584e7f31c805cc5038a5b18b63c3e [file] [log] [blame]
#!/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 \
>/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_X86_64_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="Native execution"
fi
echo ""
echo "crosvm builder is ready:"
echo " Cargo version: $(cargo --version)"
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