Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

continuous integration for updating the Conda- Forge feedstock

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

like image 898
Pratyush Avatar asked Oct 13 '25 04:10

Pratyush


1 Answers

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.

like image 97
nerohmot Avatar answered Oct 14 '25 16:10

nerohmot