-
Notifications
You must be signed in to change notification settings - Fork 360
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
[MRG] Add support for installing different versions of R #772
Conversation
Thanks for working on this @betatim Some thoughts here:
|
I was wondering about that. Right now I went with "nothing should change when we merge this", currently you can't select the R version so after merging this PR if you don't specify anything we stick (unfortunately) with what used to be the only version. This is the "never break users" mantra. I don't actually know how many existing repos would break if we suddenly switch them from 3.4 to 3.6. Is there a way to guess-timate that (without having to go and build a whole bunch of repos)? For Python we didn't follow this mantra and at some point switched to Python 3.7 as the default. There were a few (but less than expected) people who had problems with their repos not building any more who showed up on twitter/gitter/the forum. What is unknown is how many repos kept building but now produced different results (probably less than those that broke). I need to check what we do for Julia (no spec -> we update your version or no spec -> we stick to some old version). |
This would be particularly hard to guesstimate, but I do not expect a huge number of repos to break if we upgrade to 3.6 right away. Something that could be done would be upgrading to 3.6 (as in Python) and perhaps add a FAQ/detailed documentation on the repo2docker and binder pages so that this does not result in loads of issues around the line "my repo worked a week ago and now it's broken"? |
When I first made the change in Julia, I kept everyone on the old version.
But the Julia transition from 0.6 (the default before) to 1.0 was more
significant -- 0.6 is no longer supported, and almost no one uses it, so we
then changed the default to 1.0.
Now, I don't think we've been updating the version to run the latest Julia,
which probably makes sense. 1.0 is the "long-term supported" version, so I
think continuing to update the default to the latest patch release of 1.0
is reasonable (1.0.4, 1.0.5, etc).
I'm not sure how much of that maps to the situation for R?
For the full details on Julia's version numbers, they just released this
thorough blog post that discusses the above in more detail:
https://julialang.org/blog/2019/08/release-process
Hopefully that's helpful! :) Sorry if it was too much information.
…On Wed, Sep 4, 2019, 3:57 AM Tim Head ***@***.***> wrote:
It would make more sense to have the latest R version as the "empty one"
I was wondering about that. Right now I went with "nothing should change
when we merge this", currently you can't select the R version so after
merging this PR if you don't specify anything we stick (unfortunately) with
what used to be the only version. This is the "never break users" mantra. I
don't actually know how many existing repos would break if we suddenly
switch them from 3.4 to 3.6. Is there a way to guess-timate that (without
having to go and build a whole bunch of repos)?
For Python we didn't follow this mantra and at some point switched to
Python 3.7 as the default. There were a few (but less than expected) people
who had problems with their repos not building any more who showed up on
twitter/gitter/the forum. What is unknown is how many repos kept building
but now produced different results (probably less than those that broke).
I need to check what we do for Julia (no spec -> we update your version or
no spec -> we stick to some old version).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#772>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAMCIEKDG3O7LWTZWAF6GIDQH5S4ZANCNFSM4ITCDFSA>
.
|
Oh, just kidding, apparently we just use the latest released version of julia as the default: Anyway, hope that's helpful. :) |
This seems pretty reasonable to me - it feels like a good piggy-backing of the runtime buildpack. Just to have 👀 on it, one other pattern we could use is something like:
which would be more explicit (although two separate lines) and would disentangle the two pieces of information. I can see "pros" and "cons" with both approaches, but curious what other folks think about this |
066fb6f
to
4b88a4c
Compare
4b88a4c
to
e0b1d47
Compare
3dadc19
to
eae4274
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just have a couple of questions, otherwise the code looks 💯
Exactly, the latest R version in the 3 series. It would move along similar to a x.y version.
You are right, it probably makes more sense to do it when there are alternatives (like support for 2.x.z or >3. Maybe R stays with 3 for a long time!).
|
LGTM |
9c7ca40
to
d8c8259
Compare
I updated the documentation to mention R version support. Ready to merge if the bots are happy. |
Now with more |
Merging this now. Min's last (in person) comment on this was positive except for the part about not using |
Closes #661
This uses the instructions from https://cran.r-project.org/bin/linux/ubuntu/README.html to allow users to select a different version of R. We use the
runtime.txt
to let users specify which version they want viar-3.6-YYYY-MM-DD
(selects R 3.6, 3.6.1 to be precise) orr-YYYY-MM-DD
(selects the default, currently 3.4).We can also add support for R 3.5 but I wanted to open the PR before being done. Ideally
r-3.4-YYYY-MM-DD
should be equivalent tor-YYYY-MM-DD
as well.This is pretty exciting as it adds a frequently requested feature without a lot of new code.
What do people think of using
runtime.txt
like this? I like it and prefer it over trying to guess a R version from the date or introducing an additional file. Maybe in a second PR we can check if aDESCRIPTION
file can specify a R version as well.It would be good to get some feedback from R packaging experts on https://cran.r-project.org/bin/linux/ubuntu/README.html.