Skip to content

Commit 8931df8

Browse files
authored
Merge pull request #131 from Arrowana/feat/strict-solana-cli-version
feat: Strict solana cli version
2 parents 7dc0a7e + b0e8d18 commit 8931df8

File tree

1 file changed

+18
-22
lines changed

1 file changed

+18
-22
lines changed

src/main.rs

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -769,32 +769,28 @@ pub fn build(
769769
let (major, minor, patch) = get_pkg_version_from_cargo_lock("solana-program", &lockfile)?;
770770

771771
let mut solana_version: Option<String> = None;
772-
let image: String = base_image.unwrap_or_else(|| {
773-
if bpf_flag {
774-
// Use this for backwards compatibility with anchor verified builds
775-
solana_version = Some("v1.13.5".to_string());
776-
"projectserum/build@sha256:75b75eab447ebcca1f471c98583d9b5d82c4be122c470852a022afcf9c98bead".to_string()
777-
} else if let Some(digest) = IMAGE_MAP.get(&(major, minor, patch)) {
778-
println!("Found docker image for Solana version {}.{}.{}", major, minor, patch);
772+
let image: String = match base_image {
773+
Some(base_image) => base_image,
774+
None => {
775+
if bpf_flag {
776+
// Use this for backwards compatibility with anchor verified builds
777+
solana_version = Some("v1.13.5".to_string());
778+
"projectserum/build@sha256:75b75eab447ebcca1f471c98583d9b5d82c4be122c470852a022afcf9c98bead".to_string()
779+
} else if let Some(digest) = IMAGE_MAP.get(&(major, minor, patch)) {
780+
println!(
781+
"Found docker image for Solana version {}.{}.{}",
782+
major, minor, patch
783+
);
779784
solana_version = Some(format!("v{}.{}.{}", major, minor, patch));
780785
format!("solanafoundation/solana-verifiable-build@{}", digest)
781786
} else {
782-
println!("Unable to find docker image for Solana version {}.{}.{}", major, minor, patch);
783-
let prev = IMAGE_MAP.range(..(major, minor, patch)).next_back();
784-
let next = IMAGE_MAP.range((major, minor, patch)..).next();
785-
let (version, digest) = if let Some((version, digest)) = prev {
786-
(version, digest)
787-
} else if let Some((version, digest)) = next {
788-
(version, digest)
789-
} else {
790-
println!("Unable to find backup docker image for Solana version {}.{}.{}", major, minor, patch);
791-
std::process::exit(1);
792-
};
793-
println!("Using backup docker image for Solana version {}.{}.{}", version.0, version.1, version.2);
794-
solana_version = Some(format!("v{}.{}.{}", version.0, version.1, version.2));
795-
format!("solanafoundation/solana-verifiable-build@{}", digest)
787+
return Err(anyhow!(format!(
788+
"Unable to find docker image for Solana version {}.{}.{}",
789+
major, minor, patch
790+
)));
796791
}
797-
});
792+
}
793+
};
798794

799795
let mut manifest_path = None;
800796

0 commit comments

Comments
 (0)