commit | 5ecf75fd4ef6208775258dfeee5e58fb1c9e0b43 | [log] [tgz] |
---|---|---|
author | David Brazdil <dbrazdil@google.com> | Sun Jul 21 10:39:47 2019 +0200 |
committer | David Brazdil <dbrazdil@google.com> | Mon Jul 29 12:18:45 2019 +0100 |
tree | 5e682b9e5cd8b6a22ea41960b7ee9a3973e1647c | |
parent | 7a51e4b079bbaebca0f812151066fdb3ac8999e6 [diff] |
Hermetic builds inside a container Adds 'build/docker/Dockerfile' which describes the base container image of Hafnium compilation environment. This image is built and uploaded to GCP where users download it from. The feature is always enabled for Kokoro and can optionally be enabled for local builds too. Once rootless containers are easier to set up, we might make it the default for local builds too. An arbitrary command can be executed inside the container with 'build/run_in_container.sh [-i] <command> ...'. This is done automatically inside 'Makefile' and 'kokoro/ubuntu/build.sh' which detect whether they are already running inside the container and respawn themselves using 'run_in_container.sh' if not. The feature is guarded with HAFNIUM_HERMETIC_BUILD environment variable, switched on if the value is "true". All other values switch it off, e.g. 'run_in_container.sh' sets it to 'inside' to avoid recursion. Bug: 132428451 Test: HAFNIUM_HERMETIC_BUILD=<value> make Test: HAFNIUM_HERMETIC_BUILD=<value> kokoro/ubuntu/build.sh Change-Id: I0737a868ab4f67c0fdbf78fa8a97cc91714d2e10
Hafnium is a hypervisor, initially supporting aarch64 (64-bit ARMv8 CPUs).
Get in touch and keep up-to-date at hafnium-discuss@googlegroups.com.
To jump in and build Hafnium, follow the getting started instructions.
If you want to contribute to the project, see details of how we accept contributions.