You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The release pipeline only builds and ships the EVM binaries, so the devnet deployment has no solana images to pull. This adds the four solana services that have binaries on main (solana-indexer, solana-orderbook, solana-driver, solana-solvers) to every image path: the release cargo build in the deploy workflow, the production image (Dockerfile.deploy-ci), and the local/playground image with its per-service stages. autopilot-svm follows once its binary wiring PR merges.
The migration image needs no change, it already copies the whole database/ directory including the solana flyway series.
Changes
The deploy workflow's release build and both Dockerfiles cover the four solana service binaries
How to test
CI builds the images on this PR. The deployed combined image gains the four binaries under /usr/local/bin, entrypoints unchanged.
squadgazzz
changed the title
Build and ship the solana service binaries in the release images
[EASY] Build and ship the solana service binaries in the release images
Aug 20, 2026
Verify crate/binary names and workspace membership
Verdict: LGTM — no issues found.
The change is correct and internally consistent:
All four crate names (solana-indexer, solana-orderbook, solana-driver, solana-solvers) exist under crates/, are workspace members (members = ["crates/*"]), and each declares a [[bin]] whose name matches the path used in the -p flags and the cp/COPY lines — so both cargo build -p … and the binary copies resolve correctly.
The three image paths line up: the release build in deploy.yaml produces the binaries, Dockerfile.deploy-ci (the production image actually used by the deploy job) copies them from the binaries build context, and Dockerfile (playground) adds both the per-service stages and the combined final-stage copies.
Entrypoints for the new per-service stages match the pattern of the existing ones.
Agree with the PR note that the migration image needs no change — it copies the whole database/ directory.
One thing to watch (not a blocker): if any of the solana crates pull in system build deps beyond what the cargo-build stage already installs (git libssl-dev pkg-config build-essential), the Docker build would surface it. CI on this PR builds all three images, so that will be caught here.
· solana-infra/be-228-ci-images
No blocking issues found. This is a clean, correct change.
Verified:
All four package names (solana-indexer, solana-orderbook, solana-driver, solana-solvers) match existing workspace crates, and each declares a [[bin]] whose name equals the hyphenated crate name — so the cargo build -p … targets and the cp target/release/<name> / COPY --from=binaries <name> paths all resolve.
The four binaries are added consistently across all three image paths: the release cargo build in deploy.yaml, the in-container build + copy in Dockerfile (including the per-service FROM intermediate AS solana-* stages used by the playground), and the final COPY --from=binaries block in Dockerfile.deploy-ci (the production image built with build-contexts: binaries=target/release).
Ordering is consistent everywhere (indexer → orderbook → driver → solvers), and entrypoints for the combined image are unchanged (tini), matching the PR description.
The migration image is correctly left untouched (it already copies the whole database/ tree), and deferring autopilot-svm until its binary wiring lands is the right call.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The release pipeline only builds and ships the EVM binaries, so the devnet deployment has no solana images to pull. This adds the four solana services that have binaries on main (
solana-indexer,solana-orderbook,solana-driver,solana-solvers) to every image path: the release cargo build in the deploy workflow, the production image (Dockerfile.deploy-ci), and the local/playground image with its per-service stages.autopilot-svmfollows once its binary wiring PR merges.The migration image needs no change, it already copies the whole
database/directory including the solana flyway series.Changes
How to test
CI builds the images on this PR. The deployed combined image gains the four binaries under
/usr/local/bin, entrypoints unchanged.