- Always push OCI image indexes (manifest lists) even for single platform builds
- Fix manifest size calculation to use actual pushed manifest size
- Update platform-specific image tagging to use consistent format
- Fix ARM64 linker configuration to use musl toolchain
- Update README to document that manifest lists are always created
- Fix test to use native platform for Docker compatibility
This ensures krust provides a consistent interface regardless of the number of
platforms being built, making it easier for downstream tools to consume images.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The CI was failing because the .cargo/config.toml specified linker
names that don't match what's available in Ubuntu's musl-tools and
gcc-aarch64-linux-gnu packages.
- Changed x86_64-unknown-linux-musl-gcc to x86_64-linux-musl-gcc
- Changed aarch64-unknown-linux-musl-gcc to aarch64-linux-gnu-gcc
These are the actual binary names provided by the Ubuntu packages
installed in CI.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Support building for multiple platforms with --platform flag
- Accept comma-separated platforms or multiple --platform flags
- Default to building for linux/amd64 and linux/arm64
- Add ARM runner (ubuntu-24.04-arm) to CI matrix
- Create manifest list for multi-arch images (TODO: push to registry)
- Update integration tests to handle multi-platform builds
- Add cross-compilation setup instructions to README
- Add .cargo/config.toml for local development
Breaking changes:
- Default behavior now builds for multiple platforms (amd64+arm64)
- Use --platform linux/amd64 to build for single platform