Skip to content

Conversation

joseluisq
Copy link
Owner

@joseluisq joseluisq commented Sep 27, 2025

This PR introduces the first beta version v2.0.0-beta.1 that includes significant improvements over the current v1.

rust-linux-darwin-builder Docker image remains multi-arch (linux/amd64 and linux/arm64).

Changes are described as follows:

Improvements

Docker image optimizations

  • OSXCross build steps were split into a separate Docker image (joseluisq/docker-osxcross), which will be the base image on top of the latest Debian 13-slim (Trixie).
  • Better offers better image layer caching and speeds up build time.

Built-in C libraries

  • ZLib 1.3.1 -
  • OpenSSL 3.5.4 -

Cross-compilation improvements

  • TODO

Rust toolchains

Rust programs can cross-compile for those targets below, either from the linux/arm64 or linux/amd64 Docker image variant, so users can take advantage of them in native environments.

  • aarch64-apple-darwin
  • aarch64-unknown-linux-gnu
  • aarch64-unknown-linux-musl
  • x86_64-apple-darwin
  • x86_64-unknown-linux-musl
  • x86_64-unknown-linux-gnu

Testing

  • Improved cross-compilation testing for several Rust apps and C libraries like Lib and OpenSSL.

CI

  • Move from Cirrus CI to GitHub Actions.

Breaking

  • Release v2.x will no longer be bound to a Rust version, as it was before for v1.x. This should help deliver bug fixes and improvements without waiting for the next upcoming Rust release.
  • Removed Rust arm-linux-gnueabihf-gcc toolchain (but it can be added later if requested).

Copy link

semanticdiff-com bot commented Sep 27, 2025

Review changes with  SemanticDiff

Changed Files
File Status
  .cirrus.yml  0% smaller
  .dockerignore Unsupported file format
  .github/workflows/devel.yml  0% smaller
  .github/workflows/release-beta.yml  0% smaller
  .github/workflows/release.yml  0% smaller
  Dockerfile Unsupported file format
  Makefile Unsupported file format
  README.md Unsupported file format
  docker/amd64/Dockerfile Unsupported file format
  docker/amd64/cargo.toml Unsupported file format
  docker/arm64/Dockerfile Unsupported file format
  docker/arm64/cargo.toml Unsupported file format
  scripts/git-credential-ghtoken Unsupported file format
  tests/app/Cargo.lock Unsupported file format
  tests/app/Cargo.toml Unsupported file format
  tests/app/src/main.rs  0% smaller
  tests/openssl/Cargo.lock Unsupported file format
  tests/openssl/Cargo.toml Unsupported file format
  tests/openssl/src/main.rs  0% smaller
  tests/zlib/Cargo.lock Unsupported file format
  tests/zlib/Cargo.toml Unsupported file format

@joseluisq joseluisq self-assigned this Oct 7, 2025
@joseluisq joseluisq added enhancement New feature or request ARM64 `ARM64` Docker image variant AMD64 `x86_64` Docker image variant labels Oct 7, 2025
------
 > exporting to docker image format:
------
------
 > importing to docker:
------
ERROR: failed to build: failed to solve: rpc error: code = Unknown desc = write /root/.rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-605c467c05f27091.rlib: no space left on device
Reference
Check build summary support
Error: buildx failed with: ERROR: failed to build: failed to solve: rpc error: code = Unknown desc = write /root/.rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-605c467c05f27091.rlib: no space left on device
@joseluisq joseluisq changed the title v2.0 v2.0.0-beta.1 Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AMD64 `x86_64` Docker image variant ARM64 `ARM64` Docker image variant enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant