使用 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 被合并,或者等待维护人员审核您的包发布即可。

仍然需要帮助吗?

帮助改进我们的文档

所有 OCaml 文档都是开源的。发现错误或不清楚的地方?提交一个 Pull Request。

OCaml

创新。社区。安全。