JuliaLang/juliaup

Throws "Invalid Juliaup channel `pr55132`" despite channel being valid

LilithHafner opened this issue · 3 comments

x@x:~/.julia/dev/julia$ julia +pr55132
ERROR: Invalid Juliaup channel `pr55132`. Please run `juliaup list` to get a list of valid channels and versions.
x@x:~/.julia/dev/julia$ juliaup add pr55132
Installing Julia pr55132-linux-aarch64

See also #980, #766, #820

From #820. I'm moving the conversation here as I've decided #848 won't try to fix PRs too.

I was working on the merge conflicts in rebasing #848 to main earlier and it got me wondering how PR channels should be considered.

Potential options I came up with:

  1. Treat them like any invalid channel. (easy option)
  2. Look online to see if it’s a valid pr with an uploaded build and show the uninstalled channel message. (Would have to connect to the internet for a step that doesn’t typically need to)
  3. Find a concise way to explain that it may or may not be a valid channel that happens to be uninstalled. (Every phrasing I come up with for this feels sloppy and drawn out)

Any ideas?

Originally posted by @christiangnrd in #820 (comment)

It seems reasonable to me to only know about the PRs available as of the last update. If you want a new PR do an update?

Originally posted by @StefanKarpinski in #820 (comment)

@StefanKarpinski I don't believe the local database has a list of available PRs, so it would have to try to download at least the header to check that that PR is available.

Potential message for option 3:

`pr{number}` is not installed. Please run `juliaup add pr{number}` to install pull request if available.

Yep, I agree that the best would be to treat them as channels that are available, with a little extra text ("...if available"). Functionally, they are channels, so I would say "to install pull request channel if available."

Maybe this goes without saying, but {number} should be interpolated so the user never sees it.