Prompt file imported from 89jobrien/minibox (
.claude/commands/build-test-image.md). Fill in{{arguments}}before use. Copyright stays with the author.
Cross-compile test binaries for Linux musl and build minibox-tester:latest in Colima.
Parse {{arguments}} for: --target <triple> (default: aarch64-unknown-linux-musl).
-
Cross-compile with env vars
CC_aarch64_unknown_linux_musl=aarch64-linux-musl-gccandCARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-musl-gcc:cargo build --target <target> -p miniboxd cargo build --target <target> -p minibox-cli cargo test --no-run --target <target> -p miniboxd --test cgroup_tests cargo test --no-run --target <target> -p miniboxd --test system_tests cargo test --no-run --target <target> -p miniboxd --test integration_tests cargo test --no-run --target <target> -p miniboxd --test sandbox_tests -
Gather binaries from
~/.minibox/cache/target/<target>/debug/:miniboxd,minibox(in bin dir)- Test binaries: find
<name>-<hex>indeps/by prefix, take newest
-
Assemble build context in
mktemp -d:- Copy binaries to
usr/local/bin/ - Write
run-tests.sh(runs each test suite withMINIBOX_TEST_BIN_DIR=/usr/local/bin) - Write
Dockerfile:FROM alpine:3.21, COPY usr, COPY run-tests.sh, RUN chmod
- Copy binaries to
-
Build in Colima:
COPYFILE_DISABLE=1 tar --no-xattrs -c -C <ctx> . | colima ssh -- docker build -t minibox-tester:latest - -
Clean up temp dir. Print:
minibox-tester:latest ready in Colima
Run with: colima ssh -- docker run --rm --privileged minibox-tester:latest /run-tests.sh
