Does drone support cross-running arch binaries via binfmt? Assuming your kernel supports it and has it turned on, docker makes it pretty easy to run it. I can just do:
docker run --rm --privileged multiarch/qemu-user-static:register
which will enable it to use
qemu-*-static to run binaries on a different arch. E.g. if I am running on your x86 runners, and I want to build arm64 images, I can usually do something like:
# Note that this is an arm64 image FROM arm64v8/gcc:9.2.0 as iscsi-build # install qemu from somewhere COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin/ # this is running inside the arm64 image, so "apt" is an arm64 binary, but still should work RUN apt update && apt install -y libkmod-dev libsystemd-dev
This works fine when running locally (docker4mac, etc.) but fails on drone. The register works, but it does not succeed in running the apt binary.
What version of the kernel are you running? Does it support binfmt? Does it matter if I register in the same step?