juliaup icon indicating copy to clipboard operation
juliaup copied to clipboard

support nightly channels

Open simeonschaub opened this issue 3 years ago • 21 comments

The way this works is that we mark which versions are nightly versions in the versions db during the build process and then special-case those when added as a channel or when updated. Right now, juliaup update will always download new nightly tarballs, which could potentially be wasteful if that's called again in quick succession, but I think for now that should be a reasonable solution.

I have also gotten rid of a lot of code duplication in build.rs, which should make adding new platforms easier in the future. I hope I didn't miss anything there.

Closes #96

simeonschaub avatar Dec 27 '21 23:12 simeonschaub

Ok, I'm torn about this PR :) I definitely want to include it eventually, but maybe we should just power through the auto-update stuff first and get a finished build out that works on Linux/Mac, and then start to add new features?

davidanthoff avatar Dec 30 '21 21:12 davidanthoff

Yes, there's no rush here, so we can finish that stuff up first. Just if you're planning any bigger changes to the build.rs recipe, I think it would be worth looking at this PR first because rebasing that file might be a bit of a pain.

simeonschaub avatar Dec 31 '21 15:12 simeonschaub

Ok, I have now rebased this. @davidanthoff The auto-update stuff seems to be mostly working now, right? Do you happen to have a moment to review some time this week?

simeonschaub avatar Jan 25 '22 01:01 simeonschaub

I'll try :)

davidanthoff avatar Jan 25 '22 01:01 davidanthoff

Bump.

ViralBShah avatar Mar 11 '22 21:03 ViralBShah

Any update?

maleadt avatar Apr 08 '22 12:04 maleadt

I wanted to use/test this, so I needed to figure out how to build it while it is still being reviewed (which could take a while as davidanthoff is a single person supporting a ton of quality-of-life julia software -- I can not express how much your work has made my life easier). Here are the directions for other rust-incompetent people like me:

Install rust with rustup (well... this is meta)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Get this branch and build it

git clone https://github.com/JuliaLang/juliaup.git
cd juliaup
git checkout sds/nightly
cargo build

You probably want to now overwrite your local juliaup install with this one (no idea how bad of an idea that is, but I did it by simply copying over the compiled files). You can run the newly compiled juliaup and test it out

cd target/debug
cp juliaup julialauncher ~/.juliaup/bin/
juliaup add nightly
juliaup default nightly

Seems to be working fine for me. I will report any problems here if I uncover them.

This was written by a person that does not know much about rust or about juliaup

Krastanov avatar May 08 '22 16:05 Krastanov

Chance of a review and possible merge here, @davidanthoff? Or maybe deputize @simeonschaub to become another maintainer?

StefanKarpinski avatar May 09 '22 22:05 StefanKarpinski

I have been using this for about a month and on the nightly releases it works quite well, including updating to current nightlies. I have not encountered any bugs.

There was one minor issue that got me a bit confused, but it is probably due to the fact that this branch is not aware of the newest julia versions. I ran juliaup default release to temporarily switch to a non-nightly version and got this message:

julia --project=. -t4
The latest version of Julia in the `release` channel is 1.7.1+0~x64. You currently have `1.7.2+0~x64` installed. Run:

  juliaup update

to install Julia 1.7.1+0~x64 and update the `release` channel to that version

which is claiming that 1.7.1 is newer than 1.7.2 and it does not even know about the existence of 1.7.3, which I think is the actually newest version.

Krastanov avatar Jun 01 '22 23:06 Krastanov

what version of juliaup is this?

uncomfyhalomacro avatar Jun 01 '22 23:06 uncomfyhalomacro

Naturally, the one from this very pull request, unreleased, locally compiled.

Krastanov avatar Jun 02 '22 00:06 Krastanov

You likely just need to rebase this branch, this branch doesn't include the latest Julia versions

simeonschaub avatar Jun 02 '22 09:06 simeonschaub

I rebased it here: https://github.com/visr/juliaup/tree/night

It was a bit tricky due to the (nice) refactor of build.rs in this PR, integrating for instance da7b0034060e8bc4b24fc8a5c7a02e8bb09330e1 from master, but I think it's good now. It works well for me:

> juliaup add 1.7
Installing Julia 1.7.3+0 (x64).
> juliaup add rc
Installing Julia 1.8.0-rc1+0 (x64).
> juliaup add nightly
Installing Julia 1.9.0-latest+0 (x64).

Would be great to see this land, maybe this helps.

visr avatar Jul 01 '22 14:07 visr

+1 for merging this

simsurace avatar Jul 14 '22 23:07 simsurace

@davidanthoff Is it ok to go ahead with some of these merges?

ViralBShah avatar Jul 15 '22 13:07 ViralBShah

I would prefer that we hold off with this until after Juliacon. We have a video coming out at Juliacon that will encourage a lot of folks to use this, I still have one pretty significant change that I must get in before that, and really we should already be at a point where we have hardly any code churn with the deadline (i.e. I feel I'm behind schedule already).

But, once we have Juliacon behind us, I'm all game to merge this!

davidanthoff avatar Jul 17 '22 18:07 davidanthoff

I'm really looking forward to this feature. The convenience of being able to test locally with the most recent development version will be nice.

simsurace avatar Jul 18 '22 06:07 simsurace

@simeonschaub can you rebase this?

vchuravy avatar Aug 15 '22 19:08 vchuravy

For the last few weeks I have been using the rebase that visr mentioned in this comment https://github.com/JuliaLang/juliaup/pull/197#issuecomment-1172395911

Krastanov avatar Aug 15 '22 20:08 Krastanov

@vchuravy I updated my branch to current main in #384.

visr avatar Aug 15 '22 21:08 visr

Any new info on this?

PyDataBlog avatar Sep 12 '22 19:09 PyDataBlog

When is the merge planned ?

curio-sitas avatar Oct 23 '22 15:10 curio-sitas

Is there any chance this can be merged after another rebase (before JuliaCon 2023 is too close again)? Or are there new blockers that make merging this infeasible now?

lassepe avatar Mar 07 '23 10:03 lassepe

I think merging this is infeasible, see https://github.com/JuliaLang/juliaup/issues/96#issuecomment-1366895620.

visr avatar Mar 07 '23 10:03 visr

see #601 support this on current master

Roger-luo avatar Mar 26 '23 16:03 Roger-luo

Alright, I merged a different nightly branch, thanks for this nevertheless!

davidanthoff avatar Feb 02 '24 19:02 davidanthoff