crosvm/e2e_tests/guest_under_test/upload_prebuilts.sh
Dennis Kempin 009cb53c76 Rename integration_tests to e2e_tests
Cargo already uses the term 'integration test' for tests living
in the tests/ directory of a crate.

To prevent confusion, rename our 'integration_tests' crate to
'e2e_tests'.

BUG=None
TEST=presubmit

Change-Id: Icfa819eaed08be54ab0f36092f1ba367f3f1ce88
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4004977
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Zihan Chen <zihanchen@google.com>
2022-11-03 22:49:39 +00:00

48 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2020 The ChromiumOS Authors
# 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