mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 02:25:23 +00:00
Somehow, after rsyncing the whole directory, git will no longer work in the copy. So instead, we are now using 'git clone'. This changes the behavior to not include local workspace modifications in kokoro simulations. Which is ok, we have test_all for that and the behavior will more closely match what's happening in kokoro presubmits. BUG=None TEST=./ci/simulate_all Change-Id: I439b9eadcac65d99782e2b0eb869519abb2ada37 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3152425 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com> |
||
---|---|---|
.. | ||
crosvm_aarch64_builder | ||
crosvm_base | ||
crosvm_builder | ||
crosvm_test_vm | ||
kokoro | ||
vm_tools | ||
aarch64_builder | ||
builder | ||
image_tag | ||
Makefile | ||
README.md | ||
run_container.sh | ||
test_runner.py |
CrosVM Continuous Integration
Crosvm has a complex set of dependencies and requirements on the host machine to successfully build and run test cases. To allow for consistent testing in our continuous integration system (kokoro) and reproduction of those tests locally, we provide docker containers containing the build toolchain and a VM for testing.
Implementation Overview
Directories:
- ci/build_environment: Contains tooling for building the dependencies of crosvm.
- ci/crosvm_aarch64_builder: An x86 docker image to cross-compile for aarch64 and test with user-space emulation.
- ci/crosvm_base: Docker image shared by crosvm_builder and crosvm_aarch64_builder
- ci/crosvm_builder: A native docker image for building and testing crosvm
- ci/crosvm_test_vm: Dockerfile to build the VM included in the builder containers.
- ci/kokoro: Configuration files and build scripts used by Kokoro to run crosvm tests.
Scripts:
- ci/aarch64_builder: Script to start the crosvm_aarch64_builder container
- ci/builder: Script to start the crosvm_builder container
- ci/run_container.sh: Implementation behind the above scripts.
- test_runner.py: Implementation behind the
./test_all
script.
Building and uploading a new version of builders
The docker images for all builders can be built with make
and uploaded with
make upload
. Of course you need to have docker push permissions for
gcr.io/crosvm-packages/
for the upload to work.