This is a thread to track tasks for the R 4.0.0 migration.
cc @conda-forge/core @conda-forge/r @isuruf @CJ-Wright @conda-forge/bot
It probably makes sense to starting trying to build some of the prereleases of R since otherwise it takes a week or two to get the thing to build :(
Go for it @dpryan79!
I figured I was volunteering myself with that comment :P
@beckermr we don't need a custom class, we need a custom yaml, the bot won't be able to intuit the correct number of R pins (since we have two at the moment).
What is a custom YAML?
Do you simply mean we need to make the migration yaml ourselves?
This is the R release schedule (pulled from https://developer.r-project.org/)
Friday 2020-04-17: CODE FREEZE (4.0.0 RC)
Tuesday 2020-04-21: PRERELEASE
Friday 2020-04-24: RELEASE (4.0.0)
Updated link and checksum in https://github.com/conda-forge/r-base-feedstock/pull/123
Final release is out.
I think currently this is awaiting msys2 getting a pcre2 package.
Also power is stalling out
I would also add cleaning up the meta.yaml as something to do. (license, windows compiler, etc.)
figure out max_pin for the packages or something like this (@isuruf should fill in details here)
Can you explain this?
I would also add cleaning up the meta.yaml as something to do. (license, windows compiler, etc.)
Do you mean for the R recipes in general or just r-base?
figure out max_pin for the packages or something like this (@isuruf should fill in details here)
We can ignore this and keep it as it is now.
Do you mean for the R recipes in general or just r-base?
For the R recipes in general.
You might take a look at the noarchr migrator. It might be good to turn that into a minimigrator.
I think we need to decouple these maintenance tasks here. I鈥檇 rather not deal with a combination of errors in our scripts to update recipes and legit build errors when moving to R 4.0.
Let鈥檚 open issues for the R recipe cleanup and forge ahead with the migration.
These would be linter failures, so you'd need to fix them manually because automerge will fail.
These would be linter failures, so you'd need to fix them manually because automerge will fail.
Automerge ignores the linter
Let me explain why noarch: generic R packages need to be built.
First of all, it's not noarch: runlike noarch: python. noarch: python does a few things,
.pyc in post-linking stageWhat noarch: generic does is 1. only. For R packages 2 and 4 are not important.
Equivalent to 3 would be the .rdx files. Unlike python, R doesn't install regular .R files. Only these bytecode objects. So importing one from a different minor version gives a warning and a different major version gives an error.
This can be worked around by generating these at post-link stage for major versions (for minor versions, we can ignore the warning by changing the max_pin), but this needs support in conda.
TL;DR: noarch:generic is noarch for OS+arch only and needs a rebuild for each R version.
Thank you for finally posting this info per the request at the top of the comments! I am going to have a pass at adding a rebuild noarch option. Hopefully, this doesn't confuse the bot terribly. We are stopped right now because another bug appears to not have been fixed.
The migration now include noarch packages
Great work everyone!!
Wow! Does that mean we are done completely?! If so, this has to be some kind of record 馃槃
Everything but a few tens of packages that depend on r-rjava and a handful of stragglers as usual. ;p
The automerge combined with the bot is truly spectacular. I'm looking forward to seeing how this impacts the python 3.9 rollout.
And mamba. It doesn鈥檛 work without mamba.
Truth
Everything but a few tens of packages that depend on r-rjava and a handful of stragglers as usual. ;p
That sounds done to me 馃槈
Great work! 馃槃
Most helpful comment
Great work everyone!!