1
0
Fork 0
mirror of https://github.com/imjasonh/krust synced 2026-07-08 06:45:32 +00:00
Commit graph

60 commits

Author SHA1 Message Date
Jason Hall
6153452303
feat: Add multi-arch support
- 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
2025-06-07 22:28:15 -04:00
Jason Hall
5d254c7eca
Add tests to pre-commit hooks and simplify CI matrix
- Add cargo test and e2e tests to pre-commit hooks
- Temporarily disable macOS CI to focus on Linux
- Ensure all tests pass locally before committing
2025-06-07 22:03:28 -04:00
Jason Hall
40dbb7053e
Disable Windows CI temporarily
Remove Windows from the CI matrix to focus on getting Linux and macOS
working reliably first. Windows cross-compilation and Docker support
can be added back once the core functionality is stable.
2025-06-07 21:53:38 -04:00
Jason Hall
2e51f0ad49
Use douglascamata/setup-docker-macos-action for macOS Docker setup
This action properly installs and starts Docker daemon on macOS runners,
which is required for our integration tests.
2025-06-07 21:51:57 -04:00
Jason Hall
7a7f49c4a3
Ensure Docker is available on all platforms and fix Windows cross-compilation
- Use docker/setup-buildx-action for consistent Docker setup across all platforms
- Fix Windows rust-lld configuration by using full path instead of command name
- Make Docker-dependent tests fail explicitly when Docker is not available
- Add proper Docker availability check in integration tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 21:47:46 -04:00
Jason Hall
06b9e37db9
Fix cross-compilation and ensure all tests run on all platforms
- Add detailed error logging for cargo build failures (show both stdout and stderr)
- Install Docker on Windows and macOS CI runners
- Remove continue-on-error from test matrix - tests should fail properly
- Add detailed verification of cross-compilation setup in CI
- Improve Docker availability check in tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 21:39:18 -04:00
Jason Hall
5dc87b282e
Fix cross-compilation toolchain installation for all platforms
- macOS: Use messense/macos-cross-toolchains tap for musl toolchain
- Windows: Fix PowerShell syntax for creating cargo config
- Add verification step to check musl target installation
- Update builder to try platform-specific linker names
- Fix YAML syntax error in Windows config generation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 21:22:32 -04:00
Jason Hall
642472c548
Ensure all tests run on all platforms without skipping
- Remove test skipping based on target availability
- Install cross-compilation toolchains for all platforms in CI:
  - Ubuntu: musl-tools
  - macOS: musl-cross with proper cargo config
  - Windows: rust-lld linker
- Update builder to use platform-appropriate linkers
- Make full build/run workflow test mandatory in CI
- Add Docker setup and local registry for integration tests
- Set RUSTFLAGS with --cfg ci to enable CI-specific test behavior

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 21:17:30 -04:00
Jason Hall
93bb4561fc
Add e2e tests and CI integration for docker run workflow
- Add comprehensive e2e tests for build functionality
- Add integration job to CI that tests `docker run $(krust build)`
- Test KRUST_REPO environment variable usage
- Test --no-push flag and clean stdout for command substitution
- Add tests for verbose logging
- Remove outdated basic_test.rs

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 21:03:33 -04:00
Jason Hall
5e89023925
Initial commit: krust - container image build tool for Rust
krust builds container images for Rust applications without Docker:
- Builds static binaries using musl libc
- Creates minimal OCI container images
- Pushes to any OCI-compliant registry
- Outputs digest to stdout for composability

Inspired by ko.build for Go applications.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 20:46:08 -04:00