Revert "Revert "init: Check all releases (#21417) (#21419)""

This reverts commit 336c39446b.
This commit is contained in:
Tyera Eulberg
2021-12-16 13:50:54 -07:00
committed by Tyera Eulberg
parent 32bcfb757b
commit 20681ea2ce

View File

@ -859,15 +859,27 @@ fn check_for_newer_github_release(
version_filter: Option<semver::VersionReq>, version_filter: Option<semver::VersionReq>,
prerelease_allowed: bool, prerelease_allowed: bool,
) -> reqwest::Result<Option<String>> { ) -> reqwest::Result<Option<String>> {
let url = let mut page = 1;
reqwest::Url::parse("https://api.github.com/repos/solana-labs/solana/releases").unwrap(); const PER_PAGE: usize = 100;
let client = reqwest::blocking::Client::builder() let client = reqwest::blocking::Client::builder()
.user_agent("solana-install") .user_agent("solana-install")
.build()?; .build()?;
let mut all_releases = vec![];
let mut releases = vec![];
while page == 1 || releases.len() == PER_PAGE {
let url = reqwest::Url::parse_with_params(
"https://api.github.com/repos/solana-labs/solana/releases",
&[
("per_page", &format!("{}", PER_PAGE)),
("page", &format!("{}", page)),
],
)
.unwrap();
let request = client.get(url).build()?; let request = client.get(url).build()?;
let response = client.execute(request)?; let response = client.execute(request)?;
let mut releases = response releases = response
.json::<GithubReleases>()? .json::<GithubReleases>()?
.0 .0
.into_iter() .into_iter()
@ -889,9 +901,12 @@ fn check_for_newer_github_release(
}, },
) )
.collect::<Vec<_>>(); .collect::<Vec<_>>();
all_releases.extend_from_slice(&releases);
page += 1;
}
releases.sort(); all_releases.sort();
Ok(releases.pop().map(|r| r.to_string())) Ok(all_releases.pop().map(|r| r.to_string()))
} }
pub enum SemverUpdateType { pub enum SemverUpdateType {