-
Notifications
You must be signed in to change notification settings - Fork 266
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
Use conda packages instead of pip #989
Conversation
Where do these images come from? |
You also removed pyhessio from the py* yamls, which we should not do as it is needed for the tests. |
Codecov Report
@@ Coverage Diff @@
## master #989 +/- ##
==========================================
+ Coverage 78.19% 78.77% +0.58%
==========================================
Files 194 195 +1
Lines 11313 11328 +15
==========================================
+ Hits 8846 8924 +78
+ Misses 2467 2404 -63
Continue to review full report at Codecov.
|
I was just discussion that offline in fact... Right now I have to do it all manually, which is a pain. It would be nice to automate the builds. So far all the recipes are in https://github.com/cta-observatory/cta-conda-recipes. I manually edit them, and then run For automation, I see the following options:
To make them only build when necessary, it could be useful to split them into multiple repos (e.g. |
Ah, yes, I'll add pyhessio back |
Why own repos? Why not have the conda recipes in the corresponding repos and build on new tags? |
We removed |
That's the recommended way, since you can update the recipe without updating the code (bumping the build number, but staying with the same code base). The recipe contains a link to the git repo and tag, so it doesn't need to be in the package itself. See e.g. conda-forge |
…pipe into use_conda_for_eventio
Ok, but that automatically means, we'll always need human interaction to produce new conda builds for new versions, right? This is quite unfortunate. |
How are the pip build uploaded? I assume also by human interaction? But yes, I think this is ok, and will be better once it's automated. We should assume "official" packages are used as dependencies. |
For eventio it is done like this: When a new tag is pushed to the master, the package is pushed to pypi, of course only when the tests pass. I.e. by using the "draft a new release" button on https://github.com/cta-observatory/pyeventio/releases the upload to pypi is triggered and nothing needs to be done in addition |
Yes, but those are source distributions, not binary wheels, I don't think it's possible to build manylinux wheels on travis and I'm also not sure we want to go with many linux builds for performance reasons (ancient compilers, no modern instructions, no mkl) |
Anyhow, I think we can move this conversion to the issue on packaging, and just accept this PR. The main issue is on the grid where we want everything installed in conda envs. It's not a big issue, the user can still install via pip if they like, but this keeps everything uniform. |
No more pip installs in environment.yml