贡献 conda-build
#
新问题#
如果你的问题是关于以下内容的错误报告或功能请求:
特定的 conda 包:请在此处提交:ContinuumIO/anaconda-issues#issues
conda env
下的命令以及所有其他 conda 命令:请在此处提交:conda/conda#issues
行为准则#
conda
组织遵守 NumFOCUS 行为准则。
贡献#
欢迎随时贡献 conda-build
!请 fork conda/conda-build
仓库,并提交拉取请求 (PR)。
如果 PR 正在进行中,请在标题中添加 [WIP]。贡献需要通过 flake8
检查以及在 GitHub Actions Pipeline 上运行的测试套件。贡献者还需要签署我们的贡献者许可协议。
设置你的环境#
设置你的开发/测试环境有两种方法。第一种是重用你的基础环境;这可能是最简单的选择,但存在破坏 conda/conda-build
的风险。第二种选择是创建一个开发环境,我们在其中安装 conda/conda-build
,这不会影响安装在你的基础环境中的 conda/conda-build
的功能。
使用基础环境:#
# activate/install into base env
$ conda activate base
(base) $ conda install --file tests/requirements.txt --channel defaults
# run tests
(base) $ pytest
# install as editable so you can play around with it
(base) $ pip install -e .
(base) $ conda-build --version
conda-build 3.21.5+17.gcde7b306
创建开发环境:#
# create/activate standalone dev env
$ ENV_NAME=conda-build make setup
$ conda activate conda-build
# Run all tests on Linux and Mac OS X systems (this can take a long time)
(conda-build) $ make test
# install as editable so you can play around with it
(conda-build) $ pip install -e .
(conda-build) $ conda-build --version
conda-build 3.21.5+17.gcde7b306
测试#
按照上面的安装说明正确设置你的测试环境。
测试套件使用 pytest
运行。以下是在 conda-build
根文件夹中运行特定测试的一些有用命令
运行所有测试:#
# On Linux and Mac OS X
make test
运行一个测试文件:#
pytest tests/test_api_build.py
运行一个测试函数:#
pytest tests/test_api_build.py::test_early_abort
运行一个参数化测试函数的一个参数:#
一些测试是参数化的,用于运行一些小的更改,或构建多个配方文件夹。要仅选择其中一个:
pytest tests/test_api_build.py::test_recipe_builds.py[entry_points]
请注意,我们的测试广泛使用 pytest
fixtures。这些有时会使 IDE 样式检查器对未使用或重新定义的变量发出警告。这些警告可以安全地忽略。
发布#
conda-build
的发布可以通过 rever
命令执行。Rever 被配置为执行典型 conda-build 发布的活动。要进行发布,只需运行 rever <X.Y.Z>
,其中 <X.Y.Z>
是你要升级到的发布版本号。例如,rever 1.2.3
。但是,最好始终确保你拥有在任何地方执行发布的权限。因此,习惯上在发布之前运行 rever check
以确保。标准工作流程如下
rever check
rever 1.2.3
如果由于某种原因发布中途失败,或者你想撤回已进行的发布,rever
允许你撤消活动。如果你发现自己处于这种困境,你可以将 --undo
选项传递一个逗号分隔的活动列表,你想撤消这些活动。例如
rever --undo tag,changelog,authors 1.2.3
发布愉快!