mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-10 20:19:07 +00:00
Add a new builder to build crosvm in crOS tree, and all the depencies of this new builder. BUG=b:240692674 TESTED=led get-builder luci.crosvm.ci:chromeos_amd64-generic | led edit-cr-cl https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3966928 | led edit-recipe-bundle | led edit -r build_chromeos_hatch | led launch Change-Id: Id2f284139922916edd2dd584f576da9fb3445518 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3966928 Reviewed-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Zihan Chen <zihanchen@google.com>
41 lines
1.5 KiB
Docker
41 lines
1.5 KiB
Docker
# syntax=docker/dockerfile:1.3-labs
|
|
# Copyright 2022 The ChromiumOS Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
FROM docker.io/debian:testing-slim
|
|
ARG BOARD=hatch
|
|
|
|
RUN apt update \
|
|
&& apt install -y git python3-pip curl sudo wget
|
|
|
|
# Add a new password-less sudoer user crosvmdev
|
|
RUN useradd -ms /bin/bash crosvmdev \
|
|
&& usermod -aG sudo crosvmdev \
|
|
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
|
|
COPY entrypoint.sh /tools/
|
|
RUN chmod 755 /tools/entrypoint.sh
|
|
ENTRYPOINT [ "/tools/entrypoint.sh" ]
|
|
|
|
# Following operations will be run as crosvmdev to ensure correct permission.
|
|
USER crosvmdev
|
|
WORKDIR /home/crosvmdev
|
|
|
|
RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
|
|
|
# Prepare path to depot tools for crosvmdev
|
|
RUN echo 'export PATH=/home/crosvmdev/depot_tools:$PATH' >> /home/crosvmdev/.profile
|
|
ENV PATH="/home/crosvmdev/depot_tools:${PATH}"
|
|
|
|
RUN mkdir /home/crosvmdev/chromiumos
|
|
|
|
WORKDIR /home/crosvmdev/chromiumos
|
|
|
|
RUN git config --global user.email crosvmdev@crosvm.dev && git config --global user.name crosvmdev
|
|
RUN repo init -u https://chromium.googlesource.com/chromiumos/manifest -g minilayout,crosvm -b stable --depth=1
|
|
RUN repo sync -j 8 --current-branch
|
|
|
|
RUN --security=insecure cros_sdk --create && rm /home/crosvmdev/chromiumos/.cache/sdks/*
|
|
RUN --security=insecure cros_sdk setup_board --board=${BOARD}
|
|
RUN --security=insecure cros_sdk emerge-${BOARD} --update --deep -j$(nproc) crosvm
|