用于更新 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

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

解决方法

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

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

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

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

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

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

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

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

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

换句话说:一旦你有了原料,你的项目仓库的 CD 只需要推送到 PyPi,然后你的新版本也会在 conda-forge 上弹出。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...