crosvm/ci/crosvm_builder/Dockerfile
Dennis Kempin 3b3545b2c3 Upgrade ci containers to bullseye and clean up
We no longer need to build dependencies from source and provide them
via pkg-config, this simplifies much of our builder container setup.

As debian bullseye got promoted to stable, we can now also simplify
further by just using bullseye stable instead of mixing stable and
testing packages.

BUG=b:181359683
TEST=./test_all

Change-Id: I2ce61992d5cfe6eb5dc3f0ec61920dcc5455ca40
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3141772
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2021-09-15 17:06:46 +00:00

41 lines
1.1 KiB
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.
# Build-argument of the image tag of dependencies to use. Set to the same
# version as `ci/image_tag`
ARG TAG
# Stage containing VM data to be used later.
# (COPY --from does not allow the use of ARGs)
FROM gcr.io/crosvm-packages/crosvm_test_vm_amd64:${TAG} as vm
# Main stage
FROM gcr.io/crosvm-packages/crosvm_base:${TAG}
# Install libraries needed to compile crosvm and it's dependencies.
RUN apt-get install --yes --no-install-recommends \
libcap-dev \
libdbus-1-dev \
libdrm-dev \
libepoxy-dev \
libssl-dev \
libwayland-dev \
libxext-dev \
qemu-system-x86 \
wayland-protocols
# Include test VM inside this container
COPY --from=vm \
/workspace/vm/* \
/workspace/vm/
COPY --from=vm \
/root/.ssh /root/.ssh
# Setup entrypoint and interactive shell
WORKDIR /workspace/src/crosvm
COPY bashrc /root/.bashrc
COPY entrypoint /workspace
ENTRYPOINT ["/workspace/entrypoint"]