mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-11 04:26:38 +00:00
This CL adds the foundation for running tests consistently in Kokoro and locally, for both x86 and aarch64. The crosvm_builder is similar to the original image from docker/crosvm.Dockerfile. The main difference is that ChromeOS dependencies are not compiled into the container, but built at runtime. The crosvm_aarch64_builder installs the build enviornment to cross-compile crosvm for aarch64. The tests are run with user-space emulation using qemu-aarch64-static. See ci/README.md for instructions on how to use these builders. Tests on aarch64 cannot all be run using user-space emulation. We will need a VM to pass all smoke tests, this work is tracked in b/177228167. BUG=b:177133814 TEST=Tested by running ./ci/builder bin/smoke_test ./ci/builder cargo test ./ci/aarch64_builder cargo build ./ci/aarch64_builder cargo test -p tempfile Change-Id: Iffffcf48894787dd72fff894af351fdaced0b429 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2621994 Reviewed-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> Tested-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com>
36 lines
1,017 B
Docker
36 lines
1,017 B
Docker
# 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.
|
|
#
|
|
# Docker container to build crosvm for the host architecture.
|
|
|
|
|
|
|
|
FROM gcr.io/crosvm-packages/crosvm_base
|
|
|
|
# Install libraries needed to compile crosvm and it's dependencies.
|
|
|
|
RUN apt-get install --yes --no-install-recommends \
|
|
libdbus-1-dev \
|
|
libcap-dev \
|
|
libdrm-dev \
|
|
libepoxy-dev \
|
|
libfdt-dev \
|
|
libssl-dev \
|
|
libwayland-dev
|
|
|
|
RUN apt-get install --yes -t testing --no-install-recommends \
|
|
libdrm-dev \
|
|
libepoxy-dev
|
|
|
|
# Allow GCC/Rust to find packages and libraries stored on the scratch volume.
|
|
ENV LIBRARY_PATH=/workspace/scratch/lib
|
|
ENV LD_LIBRARY_PATH=/workspace/scratch/lib
|
|
ENV PKG_CONFIG_PATH=/workspace/scratch/lib/pkgconfig
|
|
|
|
# Setup entrypoint and interactive shell
|
|
WORKDIR /workspace/src/platform/crosvm
|
|
COPY entrypoint /workspace
|
|
COPY bashrc /root/.bashrc
|
|
ENTRYPOINT ["/workspace/entrypoint"]
|
|
CMD ["bash"]
|