Skip to content

Commit 5300d7c

Browse files
authored
fix(avm): Only use non-draft releases (#3931)
1 parent 18d0ca0 commit 5300d7c

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

avm/src/lib.rs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,7 @@ pub fn fetch_versions() -> Result<Vec<Version>, Error> {
566566
struct Release {
567567
#[serde(rename = "name", deserialize_with = "version_deserializer")]
568568
version: Version,
569+
draft: bool,
569570
}
570571

571572
fn version_deserializer<'de, D>(deserializer: D) -> Result<Version, D::Error>
@@ -577,13 +578,20 @@ pub fn fetch_versions() -> Result<Vec<Version>, Error> {
577578
}
578579

579580
let response = reqwest::blocking::Client::new()
580-
.get("https://api.github.com/repos/coral-xyz/anchor/tags")
581-
.header(USER_AGENT, "avm https://github.com/coral-xyz/anchor")
581+
.get("https://api.github.com/repos/solana-foundation/anchor/releases")
582+
.header(
583+
USER_AGENT,
584+
"avm https://github.com/solana-foundation/anchor",
585+
)
582586
.send()?;
583587

584588
if response.status().is_success() {
585589
let releases: Vec<Release> = response.json()?;
586-
let versions = releases.into_iter().map(|r| r.version).collect();
590+
let versions = releases
591+
.into_iter()
592+
.filter(|r| !r.draft)
593+
.map(|r| r.version)
594+
.collect();
587595
Ok(versions)
588596
} else {
589597
let reset_time_header = response
@@ -607,8 +615,7 @@ pub fn list_versions() -> Result<()> {
607615
let mut installed_versions = read_installed_versions()?;
608616

609617
let mut available_versions = fetch_versions()?;
610-
// Reverse version list so latest versions are printed last
611-
available_versions.reverse();
618+
available_versions.sort();
612619

613620
let print_versions =
614621
|versions: Vec<Version>, installed_versions: &mut Vec<Version>, show_latest: bool| {

0 commit comments

Comments
 (0)