Skip to content

Conversation

@spreston8
Copy link
Collaborator

@spreston8 spreston8 commented Dec 22, 2025

PR Summary: Rename Docker Images - Hybrid vs Pure Rust

Overview

Rename the current SBT-built Docker image from f1r3fly-rust-node to f1r3fly-hybrid-node and reserve f1r3fly-rust-node for the pure Rust image built from node/Dockerfile.

Changes

build.sbt

  • Renamed Docker alias from f1r3fly-rust-nodef1r3fly-hybrid-node

.github/workflows/build-test-and-deploy.yml

  • Renamed build_docker_imagebuild_hybrid_docker_image (produces artifacts-hybrid-docker)
  • Added build_rust_docker_image job (produces artifacts-rust-docker)
  • Updated integration tests to use pure Rust image
  • Added release_rust_docker_image job for pure Rust image
  • Renamed release_docker_imagerelease_hybrid_docker_image

README.md

  • Added Docker image types table
  • Updated documentation to clarify hybrid vs pure Rust builds

node/Dockerfile

  • Fixed Docker build cache issue: added cargo clean for workspace crates after copying source
  • Prevents stale cache from dummy dependency files causing "could not find module" errors

Docker Hub Images (After Merge)

Image Build Method Contents
f1r3fly-rust-node node/Dockerfile Pure Rust binary
f1r3fly-hybrid-node SBT Scala JARs + Rust libs (JNA)

No Changes Required

  • Docker Compose files (already reference f1r3fly-rust-node)
  • Helm charts (already reference f1r3fly-rust-node)
  • integration-tests/Dockerfile (already references f1r3fly-rust-node)

Force recompile workspace crates after copying source to prevent
stale cache from dummy dependency files causing module resolution errors.
Prevents Docker layer caching from preserving stale compilation state
between the clean and build steps. Also adds --target flag to cargo clean
to ensure correct target directory is cleaned.
esac && \
rustup target add $LINUX_TARGET && \
echo "Cleaning workspace crates to force rebuild with real source..." && \
cargo clean -p shared -p crypto -p models -p casper -p comm \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this cleanup there would be no sense in building dependencies upfront.

@spreston8 spreston8 closed this Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants