solana-install init can now select a pre-release from Github (#15936)

(cherry picked from commit d9176c1903)

Co-authored-by: Michael Vines <mvines@gmail.com>
This commit is contained in:
mergify[bot]
2021-03-17 04:31:55 +00:00
committed by GitHub
parent 79fa7ef55c
commit 2238e5001b

View File

@ -863,6 +863,7 @@ fn semver_of(string: &str) -> Result<semver::Version, String> {
fn check_for_newer_github_release( fn check_for_newer_github_release(
version_filter: Option<semver::VersionReq>, version_filter: Option<semver::VersionReq>,
prerelease_allowed: bool,
) -> reqwest::Result<Option<String>> { ) -> reqwest::Result<Option<String>> {
let url = let url =
reqwest::Url::parse("https://api.github.com/repos/solana-labs/solana/releases").unwrap(); reqwest::Url::parse("https://api.github.com/repos/solana-labs/solana/releases").unwrap();
@ -882,7 +883,7 @@ fn check_for_newer_github_release(
prerelease, prerelease,
}| { }| {
if let Ok(version) = semver_of(&tag_name) { if let Ok(version) = semver_of(&tag_name) {
if !prerelease if (prerelease_allowed || !prerelease)
&& version_filter && version_filter
.as_ref() .as_ref()
.map_or(true, |version_filter| version_filter.matches(&version)) .map_or(true, |version_filter| version_filter.matches(&version))
@ -937,6 +938,7 @@ pub fn init_or_update(config_file: &str, is_init: bool, check_only: bool) -> Res
current_release_semver current_release_semver
)) ))
.ok(), .ok(),
is_init,
) )
.map_err(|err| err.to_string())?; .map_err(|err| err.to_string())?;
progress_bar.finish_and_clear(); progress_bar.finish_and_clear();