How to setup a CI pipeline for continuous integration to update the feedstock ? I want to set up a way for new releases to also be pushed to conda-forge just like they are automatically for PyPI. Actually I have found few repositories which might be helpful.
First we need to stage the package through this repo https://github.com/conda-forge/staged-recipes
Then Continuous integration pipeline needs to be staged up for the feedstock but since I don't have much that deep idea into DevOps could not understand which of these two repositories will be used to setup the CI pipeline
https://github.com/conda-forge/conda-forge-ci-setup-feedstock
https://github.com/conda-forge/conda-smithy
so I would appreciate if anyone can guide me through this
Step 1 : build a PyPi package and upload it (I think you already did that)
Step 2 : install grayskull : conda install -c conda-forge grayskull
, the grayskull repo shows how to generate a conda recipe
called 'meta.yaml' directly from your package on PyPi
Step 3 : Fork conda-forge/staged-recipes
in your user/organization space.
Step 4 : go into the recipes
directory, and make a directory in it with the name of your project.
Step 5 : add the meta.yaml
created in step 2 to recipes/your-project-name/
Step 6 : add your LICENSE file to recipes/your-project-name/
Step 7 : do a PR against conda-forge/staged-recipes
Step 8 : wait until it is approved (and be patient) ;-)
Once you have a feedstock you could edit the GitHub workflow, but the automerge
workflow should be there, meaning that the regro-cf-autotick-bot
will create a PR to your feedstock whenever a new package is detected on PyPi, and that PR is merged automatically :-)
In other words: once you have a feedstock, your project repo's CD just need to push to PyPi, and a while later your new release will also pop up on conda-forge
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With