构建与发布#
本文档概述了构建和发布 mambular
包的步骤。此时,假设该包的开发和测试已经成功完成。
1. Test documentation#
贡献者应在源代码更改时及时更新文档。请使用以下流程测试文档:
cd mambular/docs/
make doctest
修复任何与文档字符串相关的问题,然后继续下一步。
2. Version update#
包版本在 mambular/__version__.py
文件中维护。根据更改(如补丁、次要、主要或全部)增加版本号。
3. Release#
我们使用 git flow 进行包的发布。
如果你没有安装 git flow,你可以按照 这里 的指示来安装它。
如果尚未完成,请使用以下命令在仓库中初始化 git flow。
使用默认选项进行 git flow 初始化。
git flow init
使用以下命令开始一个新的发布。将
<version>
替换为你想要发布的版本号。版本号应与你在
__version__.py
文件中更新的版本号相同。版本号应采用
主版本.次版本.补丁
的格式。例如,v0.0.1
。版本号应以示例中所示的
v
为前缀。否则,将包发布到 PyPi 的流水线将会失败。
git flow release start v0.0.1
从
develop
分支创建了一个新分支。这个新分支根据约定命名为release/<版本>
。例如,如果你运行git flow release start v0.0.1
,新分支将是release/v0.0.1
。当前工作分支切换到新创建的发布分支。这意味着任何新的提交将被添加到发布分支,而不是
develop
分支。这个新分支用于完成发布。你可以执行诸如版本号更新、文档更新和最终测试等任务。
一旦你对更改满意,使用以下命令来完成发布。
git flow release finish v0.0.1
它将把发布分支合并到
main
(或master
)中。用版本号标记发布。
将发布分支合并回
develop
。删除发布分支。
最后,将提交和标签推送到原点。
git push origin --tags
这将把标签发布到远程仓库。
此外,最新文档发布如下:
工作流从
main
(或master
)触发,通过 readthedocs 发布文档。文档发布在readthedocs上,可以在 mambular.readthedocs.io 访问。
4. Publish package to PyPi#
该包通过 GitHub Actions 发布到 PyPi。当向仓库推送新标签时,工作流程将被触发。工作流程将构建包并将其上传到 PyPi。
5. GitHub Release#
在 GitHub 上创建一个新版本,包含版本号和发布说明。发布说明应包括版本中所做的更改。