首页 > 解决方案 > 用于更新 Conda-Forge 原料的持续集成

问题描述

如何设置 CI 管道以进行持续集成以更新原料?我想为新版本建立一种方式,也可以将它们推送到 conda-forge,就像它们自动用于 PyPI 一样。实际上,我发现很少有可能有用的存储库。

首先,我们需要通过这个 repo 暂存包 https://github.com/conda-forge/staged-recipes

然后需要为原料建立持续集成管道,但由于我对 DevOps 没有太多深入的想法,因此无法理解这两个存储库中的哪一个将用于设置 CI 管道

https://github.com/conda-forge/conda-forge-ci-setup-feedstock

https://github.com/conda-forge/conda-smithy

所以如果有人能指导我完成这个,我将不胜感激

标签: pythonanacondacondapypiconda-forge

解决方案


第 1 步:构建一个 PyPi 包并上传它(我想你已经这样做了)

第 2 步:安装 grayskull:grayskull repo展示了如何在 PyPi 上直接从您的包中生成一个conda install -c conda-forge grayskull名为“meta.yaml”conda recipe

第 3 步:conda-forge/staged-recipes在您的用户/组织空间中分叉。

第 4 步:进入recipes目录,并在其中使用您的项目名称创建一个目录。

第5步:将meta.yaml第2步中创建的添加到recipes/your-project-name/

第 6 步:将您的许可证文件添加到recipes/your-project-name/

第 7 步:针对conda-forge/staged-recipes

第 8 步:等到批准(并耐心等待);-)

一旦你有了一个原料,你就可以编辑 GitHub 工作流程,但automerge工作流程应该在那里,这意味着regro-cf-autotick-bot只要在 PyPi 上检测到新包,就会为你的原料创建一个 PR,并且 PR 会自动合并 :-)

换句话说:一旦你有了一个原料,你的项目 repo 的 CD 只需要推送到 PyPi,一段时间后你的新版本也会弹出conda-forge


推荐阅读