Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: refactor Dockerfile for cross-compilation
This has two big visible changes: * `installer` image now contains assets for both `amd64` and `arm64`, so it can be used to generate any Talos image (including RPi on amd64 host) * Talos is using cross-compilation instead of emulation to build non-native architectures: on amd64, Go amd64 compiler produces binaries for both arm64 and amd64 (before this change: Go arm64 compiler via QEMU produces arm64 binaries on amd64) CI implications: we no longer require arm64 nodes. Changes walkthrough: * `installer` container now keeps assets under `/usr/install/<arch>` * Dockerfile build starts forcing toolchain/base image to use the build host native architecture, not target architecture * lots of duplication for amd64/arm64 as we want to combine assets for both arches in a single image (e.g. we have multi-arch amd64/arm64 installer image, each arch has native installer binary, but both arches contain full set of amd64/arm64 assets) * fixed a small bug preventing arm64 on amd64 talosctl cluster create Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
- Loading branch information