vatlab / sos-r

SoS extension for R
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Conda forge build of Sos-r out of date #30

Closed marinetteman2 closed 1 year ago

marinetteman2 commented 1 year ago

The install works, but the version in Conda-forge does not use collections.abc in python. R cells fail if installed from conda-forge. Conda-forge three years old.

BoPeng commented 1 year ago

conda-forge tests fail for no obvious reason, which prevents new versions from publishing at conda-forge. The tests are run in a very specific environment and it is tedious to debug. I guess I can simplify the test.

BoPeng commented 1 year ago

Another problem is that conda update or conda install nowadays takes very long time to run and often fails, so I tend to use pip install for sos related packages.

marinetteman2 commented 1 year ago

The instructions refer to a conda-forge install.

So conda skeleton pypi sos-r won't rebuild from pypi? Would grayskull help?

conda install -c conda-forge grayskull

grayskull pypi sos-r

BoPeng commented 1 year ago

conda install sos-r is actually pretty dangerous since it assumes (and forces?) the use of conda version of r-base etc.

marinetteman2 commented 1 year ago

Conda create environment limits the effect. Users should use an environment with conda.

rbase of 3 days ago in conda-forge is probably what we users want, and sos-r is not responsible for the rbase version in conda-forge.

gaow commented 1 year ago

@BoPeng we are having exactly the same problem. sos-r should be 0.20.0 but it is 0.19.6 on conda-forge.

Another problem is that conda update or conda install nowadays takes very long time to run and often fails, so I tend to use pip install for sos related packages.

There are still many advantages using conda as package manager. To avoid the issues you mentioned above, we are using micromamba as a replacement for conda. It works very well. It does not take long anymore, and it works without failing. My group are moving from pip to micromamba. Currently one of our blocker is sos-r verson too old on conda-forge. I wonder what's going on here.

gaow commented 1 year ago

I think we need to update https://github.com/vatlab/sos-r/blob/master/.appveyor.yml and https://github.com/vatlab/sos-r/blob/master/.travis.yml to use latest Python environment. It might not even be a bad idea to tyr using micromamba for it. ... not sure if I can pull it off quickly

gaow commented 1 year ago

I took a look at other SoS related packages on conda-forge. They are mostly older than the pypi version. I think we should fix all of them and the fix should be easy once we figure it out for sos-r

BoPeng commented 1 year ago

ok, I just released sos-r=0.20.1. A PR will appear for https://github.com/conda-forge/sos-r-feedstock in a few hours. Let us see how to fix the recipe.

BoPeng commented 1 year ago

Ok, I fixed the test (which failed due to an incompatible change of an upstream test function) and merged https://github.com/conda-forge/sos-r-feedstock/pull/8 . sos-r should be available for conda-forge soon.

gaow commented 1 year ago

Great -- conda-forge is now up-to-date and the package is released. However the CI based test still fails in this repo. Not sure if it matters (a problem for later to solve, i suppose).

BoPeng commented 1 year ago

The Jupyter ecosystem is large and has introduced a lot of incompatible changes over the years, and they obviously cared far less about the backward compatibility of their test tools than the tools themselves. I have dealt with various changes over the years and this particular one is the need to change

stdout, stderr = assemble_output(kc.iopub_channel)

to

stdout, stderr = assemble_output(kc.get_iopub_msg)

The tests run successfully locally but I need help in keeping the CI running. We had to use two CI providers with different syntaxes. AppVeyor is very difficult to debug and TravisCI has stopped its support for open-source projects. There are other options such as Azure but I simply did not have the energy to keep CI running.

gaow commented 1 year ago

If the tests run locally but not on the CI, then how did we manage to update sos-r on conda-forge? Is CI required? I wonder if we can do the same for other packages for now, and worry about fixing CI with our next summer intern ...

BoPeng commented 1 year ago

The CI has tens of tests and the recipe has a much simpler, 'ok, it works' test https://github.com/conda-forge/sos-r-feedstock/blob/main/recipe/run_test.py

marinetteman2 commented 1 year ago

It works great for me now. I'm not clear if conda-build as is implemented now actually checks.

On Wed, Aug 30, 2023, 9:07 AM gaow @.***> wrote:

If the tests run locally but not on the CI, then how did we manage to update sos-r on conda-forge? Is CI required? I wonder if we can do the same for other packages for now, and worry about fixing CI with our next summer intern ...

— Reply to this email directly, view it on GitHub https://github.com/vatlab/sos-r/issues/30#issuecomment-1699258688, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMH5RW3PZ3Y56ZKSENTLCQ3XX5CKNANCNFSM6AAAAAA4DLA7CY . You are receiving this because you authored the thread.Message ID: @.***>