问题描述
我在 PyPi 中维护了一个软件包,我也将它放在 conda-forge 上,供那些喜欢使用 conda
而不是 pip
安装的人使用。
过去,当我更新 feedstock 中的版本和 SHA 时,它会自动将新版本提供给 the conda-forge channel。然而,我最近的更新似乎已传播到一个名为 cf-staging 的频道。
我试图弄清楚为什么它会传播到 cf-staging
而不是 conda-forge
以及我必须做些什么才能让它从 cf-staging
移动到 conda-forge。有什么想法吗?
解决方法
这是管道的一部分。它最终应该会转移,但如果超过一天,请联系管理员或跳上 the Gitter chat。
如 the documentation 中所述,Anaconda Cloud 每个通道只允许一个 API 令牌,因此为了防止一个原料的维护者推送其他包的构建,Conda Forge 团队使用了一个中间通道({{1 }}) 从这里 CI 工具将对提交的包运行验证,然后将它们发送到正确的 cf-staging
通道。
除其他外,此策略有助于减轻恶意用户的攻击,这些用户可能会在不显眼的包上获得原料维护权限,之后重建流行的包(如 conda-forge
或 python
)以包含一些恶意代码并尝试将其从他们的原料推送到 Conda Forge 渠道,在那里它可能会部署给数万用户。