crosvm/integration_tests/guest_under_test/upload_prebuilts.sh
Dennis Kempin 1f0b985a4d Update cloud storage locations to use crosvm-infra project
See go/crosvm/infra for instructions on how to get access to uploading
them.

Added a helper script to install dependencies needed to build the
guest_under_test.

BUG=b:235269312
TEST=Kokoro

Change-Id: I78387a33ddbf3ab199b36e76ba617acb1250c7e5
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3783011
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Tested-by: Dennis Kempin <denniskempin@google.com>
2022-07-29 02:17:15 +00:00

48 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2020 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.
# Builds and uploads prebuilts to cloud storage.
#
# Note: Only Googlers with access to the crosvm-testing cloud storage bin can
# upload prebuilts.
#
# See README.md for how to uprev the prebuilt version.
set -e
cd "${0%/*}"
readonly PREBUILT_VERSION="$(cat ./PREBUILT_VERSION)"
readonly GS_PREFIX="gs://crosvm/integration_tests/guest"
function prebuilts_exist_error() {
echo "Prebuilts of version ${PREBUILT_VERSION} already exist. See README.md"
exit 1
}
function upload() {
local arch=$1
local remote_bzimage="${GS_PREFIX}-bzimage-${arch}-${PREBUILT_VERSION}"
local remote_rootfs="${GS_PREFIX}-rootfs-${arch}-${PREBUILT_VERSION}"
# Local files
local cargo_target=$(cargo metadata --no-deps --format-version 1 |
jq -r ".target_directory")
local local_bzimage=${cargo_target}/guest_under_test/${arch}/bzImage
local local_rootfs=${cargo_target}/guest_under_test/${arch}/rootfs
echo "Checking if prebuilts already exist."
gsutil stat "${remote_bzimage}" && prebuilts_exist_error
gsutil stat "${remote_rootfs}" && prebuilts_exist_error
echo "Building rootfs and kernel."
make ARCH=${arch} "${local_bzimage}" "${local_rootfs}"
echo "Uploading files."
gsutil cp -n "${local_bzimage}" "${remote_bzimage}"
gsutil cp -n "${local_rootfs}" "${remote_rootfs}"
}
upload x86_64
upload aarch64