Files
UnrealEngine/Engine/Source/Programs/Horde/HordeAgent.Tests/remote-exec-test-bin/Dockerfile
2025-05-18 13:04:45 +08:00

26 lines
1.4 KiB
Docker

FROM alpine:3.13 as builder
# Install Zig and dependencies
RUN apk update && apk add curl xz libc-dev samurai git cmake
ARG ZIGVER=0.9.1
RUN mkdir -p /deps
WORKDIR /deps
RUN curl https://ziglang.org/deps/zig+llvm+lld+clang-$(uname -m)-linux-musl-$ZIGVER.tar.xz -O && \
tar xf zig+llvm+lld+clang-$(uname -m)-linux-musl-$ZIGVER.tar.xz && \
mv zig+llvm+lld+clang-$(uname -m)-linux-musl-$ZIGVER/ local/
# Build the binary for different platforms
ADD remote-exec-test-bin.c /
RUN /deps/local/bin/zig cc -o /remote-exec-test-x86_64-windows.exe /remote-exec-test-bin.c -target x86_64-windows-gnu
RUN /deps/local/bin/zig cc -o /remote-exec-test-x86_64-linux /remote-exec-test-bin.c -target x86_64-linux-gnu
RUN /deps/local/bin/zig cc -o /remote-exec-test-x86_64-macos /remote-exec-test-bin.c -target x86_64-macos-gnu
RUN /deps/local/bin/zig cc -o /remote-exec-test-aarch64-linux /remote-exec-test-bin.c -target aarch64-linux-gnu
RUN /deps/local/bin/zig cc -o /remote-exec-test-aarch64-macos /remote-exec-test-bin.c -target aarch64-macos-gnu
# Copy binaries to a scratch image so that they can be cleanly be copied back to host system
FROM scratch
COPY --from=builder /remote-exec-test-x86_64-windows.exe /
COPY --from=builder /remote-exec-test-x86_64-linux /
COPY --from=builder /remote-exec-test-x86_64-macos /
COPY --from=builder /remote-exec-test-aarch64-linux /
COPY --from=builder /remote-exec-test-aarch64-macos /