文档
生成文档
使用 Dune 发布包
TL;DR
创建一个
CHANGES.md
文件并运行dune-release bistro
。
opam 包管理器可能与您习惯的包管理器不同。为了确保生态系统的最高稳定性,每个包发布都需要经过两个过程
- 一个自动化的 CI 管道,用于测试您的包是否可以使用多个发行版和多个 OCaml 编译器版本进行安装。它还会检查您的新版本是否会破坏您的反向依赖项(那些需要您的包的包)。下限检查还确保您的包可以安装在您包的依赖项的最低版本上。
- opam-repository 维护人员对包元数据的审查。
这个过程从向 opam-repository 发起 PR 开始,其中添加了一个用于发布包版本的文件。该文件包含诸如包名称、描述、VCS 仓库,以及最重要的,源代码可以下载的 URL 等信息。
如果一切正常并且 CI 构建通过,则 PR 会被合并,并且在运行 opam update
更新 opam-repository 后,该包将在 opam 中可用。
如果需要更改任何内容,opam-repository 维护人员会在 PR 上添加一些建议的评论。
这是一个比较繁琐的过程,但希望所有这些操作都能在用户端完全自动化。发布包的推荐方法是使用 dune-release
命令(由 opam 包 dune-release
提供)。
当您准备好将您的包发布到 opam 上时,只需创建一个 CHANGES.md
文件,格式如下
# <version>
<release note>
# <older version>
<release note>
并运行 dune-release bistro
。
Dune Release 将运行一些验证(例如运行测试、对 opam 文件进行 linting 等),并为您在 opam-repository
上打开一个 PR。从那里,您只需要等待 PR 被合并,或者等待维护人员审核您的包发布即可。