嗨@conda-incubator/setup-miniconda-team,
我创建了https://github.com/conda-incubator/setup-miniforge以方便直接处理默认值的 conda forge。
我的计划是让一个脚本更新需要更新的部分,这样它就会遵循这个 repo,并且让脚本不时运行以保持更新。
也许有更好的方法来做到这一点。
想法?
变化将是:
如果是这样的话,我想用一个小脚本很容易维护,是的。 我个人更喜欢 Miniforge 而不是 Miniconda。
另一种选择是弃用installer-url
和miniconda-version
并将它们合并到一个键中,例如conda-distribution
或类似的东西。 此键将允许使用 _magic 关键字_,例如“miniconda”、“miniforge”或“anaconda”,默认为这些安装程序的最新 URL,但也可以直接接受 URL(例如,如果用户想要使用他们的自定义constructor
派生的安装程序)。
嗨@jaimergp
所以从你的列表中:
更改默认的 Miniconda 安装程序,使其指向 Miniforge 版本
当然,但我认为当用户没有安装新的 miniconda/miniforge 时,我们实际上可以删除默认的默认值(或更新它们)。 我通常只使用捆绑的(即使更新 conda 也会更快)。
硬编码 conda-forge+defaults 作为默认通道配置
是的,我们可以做到
还要别的吗?
嗯,确保脚本替换自述文件中的正确内容,并且可能只维护 V1、V2(主要)版本,因此我们不需要重新创建标签。
正如我们所见,我觉得不破坏 back-compat 很重要。 我会说 v2 行需要保留 miniconda 默认值,而 v3 可以更改默认值,如果不是名称。 无论哪种方式,我都会说只有前缀完全没问题,例如miniforge-*
和miniconda-*
。 此外,miniforge 使用与 miniconda 略有不同的 URL 方案(例如 pypy),因此我们需要处理它们的所有规范位以使其感觉流畅。
开始于 #98 的工作指出我们需要加强“给我一个安装程序”游戏,也许将它移动到另一个文件夹,每个策略都有一个文件,例如
download/
base.ts
file.ts
custom.ts
miniforge.ts
miniconda.ts
因为我们的架构等将变得不相交。
为此,我们可能还需要一个更高级别的、类型良好的解析动作输入对象,这样我们就不会做那么多的字符串事情……庞大的参数列表越来越烦人,只会变得更糟. 我的一部分想把它全部扔掉,做 d.ts -> JSON 模式的事情,但我们不会得到(有用的)行号,所以一些价值会减少。
感谢您的输入@bollwyvl
开始于 #98 的工作指出我们需要加强“给我一个安装程序”游戏,也许将它移动到另一个文件夹,每个策略都有一个文件,例如
我喜欢这个,绝对有事可做!
#126落地后,这绝对可以继续前进。 工作将是:
action.yml
方案,例如miniforge-version
等。input.ts
,only one of miniforge-version and miniconda-version
可以提供download-miniforge.ts
providers
中的installer/index.ts
曾经的好事:获得最新的 30 个 miniforge 版本非常简单:
https://api.github.com/repos/conda-forge/miniforge/releases
无需进行 URL 抓取。 万岁!
我认为我们还需要另一个密钥,例如:
use:
miniforge-version: *
miniforge-flavor: Mambaforge-pypy3 # `Miniforge3` default
我们可以用variant
或build
甚至construct
代替flavor
construct
。
这是上述的 WIP(需要文档等):
https://github.com/bollwyvl/setup-miniconda/pull/2
这开始解决之前/更多使用mamba
一些问题......就像你正在安装 Mambaforge,我想你会想要 _use_ mamba
,不是吗? 是的,好吧,笑话在你身上,它不支持(或透明地委托)我们使用的许多东西,比如init
。 所以condaCommand
在选择要使用的正确命令时必须考虑到这一点,这意味着你必须有conda
。
对于我们的测试用例来说,速度差异看起来可以忽略不计,但它可能仍然值得追求......我不知道我们将如何处理micromamba
缺失的功能......
PR up(有更多测试和文档): https :