Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -832,12 +832,22 @@ pub fn build(

let build_command = if bpf_flag { "build-bpf" } else { "build-sbf" };

let (major, minor, patch) = get_pkg_version_from_cargo_lock("solana-program", &lockfile)?;

let mut solana_version: Option<String> = None;
let (major, minor, patch);
let image: String = match base_image {
Some(base_image) => base_image,
Some(base_image) => {
// When a custom base image is provided, try to parse the version
// but don't fail if it's not found (e.g. SDK v3.x pinocchio programs
// that don't depend on solana-program).
(major, minor, patch) = get_pkg_version_from_cargo_lock("solana-program", &lockfile)
.unwrap_or((0, 0, 0));
base_image
}
None => {
// Try "solana-program" first, then fall back to SDK v3.x crate names
(major, minor, patch) = get_pkg_version_from_cargo_lock("solana-program", &lockfile)
.or_else(|_| get_pkg_version_from_cargo_lock("solana-program-error", &lockfile))
.or_else(|_| get_pkg_version_from_cargo_lock("solana-account-info", &lockfile))?;
if bpf_flag {
// Use this for backwards compatibility with anchor verified builds
solana_version = Some("v1.13.5".to_string());
Expand Down