Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support nightly channels #197

Closed
wants to merge 5 commits into from
Closed

support nightly channels #197

wants to merge 5 commits into from

Conversation

simeonschaub
Copy link
Member

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

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
@davidanthoff
Copy link
Collaborator

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?

@simeonschaub
Copy link
Member Author

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
Copy link
Member Author

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?

@davidanthoff
Copy link
Collaborator

I'll try :)

@ViralBShah
Copy link
Member

Bump.

@maleadt
Copy link
Member

maleadt commented Apr 8, 2022

Any update?

@Krastanov
Copy link

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

@StefanKarpinski
Copy link
Sponsor Member

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

@Krastanov
Copy link

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.

@uncomfyhalomacro
Copy link
Contributor

what version of juliaup is this?

@Krastanov
Copy link

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

@simeonschaub
Copy link
Member Author

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

@visr
Copy link
Sponsor

visr commented Jul 1, 2022

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 da7b003 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.

@simeonschaub simeonschaub mentioned this pull request Jul 8, 2022
@simsurace
Copy link
Contributor

+1 for merging this

@ViralBShah
Copy link
Member

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

@davidanthoff
Copy link
Collaborator

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!

@simsurace
Copy link
Contributor

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.

@vchuravy
Copy link
Sponsor Member

@simeonschaub can you rebase this?

@Krastanov
Copy link

For the last few weeks I have been using the rebase that visr mentioned in this comment #197 (comment)

@visr visr mentioned this pull request Aug 15, 2022
@visr
Copy link
Sponsor

visr commented Aug 15, 2022

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

@PyDataBlog
Copy link

Any new info on this?

@curio-sitas
Copy link

curio-sitas commented Oct 23, 2022

When is the merge planned ?

@visr visr mentioned this pull request Dec 28, 2022
@lassepe
Copy link
Sponsor Contributor

lassepe commented Mar 7, 2023

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?

@visr
Copy link
Sponsor

visr commented Mar 7, 2023

I think merging this is infeasible, see #96 (comment).

@Roger-luo
Copy link
Contributor

see #601 support this on current master

@davidanthoff
Copy link
Collaborator

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

@davidanthoff davidanthoff deleted the sds/nightly branch February 2, 2024 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a nightly channel