发布指南

欢迎来到 ansible-pylibssh 发布指南!

本页面包含使用自动持续交付管道发布 ansible-pylibssh 新版本的相关信息。

提示

本文件的目标读者是维护者和核心贡献者。

发布前活动

  1. 检查是否有任何待处理的拉取请求,这些请求可能在即将发布的版本中需要。如果有任何待处理的拉取请求,请将其合并。如果有些拉取请求尚未完成,请尽量准备好它们。不要忘记根据我们的指南检查附带的更改说明。

  2. 目视检查 变更日志 页面中的草稿部分。确保内容看起来一致,使用相同的写作风格,面向最终用户,并符合我们记录的指南。大多数变更日志部分通常会使用过去时或其他方式来传递自上次发布以来更改对用户的影响。它不应面向核心贡献者,因为他们通常感兴趣的信息已存在于 Git 历史记录中。如果发现该变更日志部分有任何问题,请更新变更日志片段。

  3. 可选地,测试先前发布的每日构建版本,这些版本可以通过 持续交付 在本地获得。

  4. 如果您对以上内容感到满意,请检查草稿中的变更日志部分类别。是否存在重大变更或功能将提示您为发布增加哪个版本号部分。

另请参阅

使用您的 PR 添加更改说明

为人类编写漂亮的变更日志

发布阶段

  1. 在您的网络浏览器中打开 GitHub Actions CI/CD 工作流页面

  2. 单击工作流运行列表顶部蓝色横幅中的灰色按钮 运行工作流

  3. 在出现的表单中,在准备步骤中确定的版本号输入到必填字段中。不要在前面添加 v。只需按照 PEP 440 使用原始版本号即可。

  4. 现在,单击绿色按钮 运行工作流

  5. 在某个时候,工作流将进入发布到“生产”PyPI 的作业并在此处暂停。您将看到一个横幅通知您需要部署批准。您还会收到一封带有相同信息和部署批准视图链接的电子邮件通知。

  6. 虽然正常的 PyPI 上传尚未发生,但 TestPyPI 上传会继续进行。这使您有机会选择验证发布到 TestPyPI 的内容,并决定是否要中止该过程。

  7. 批准部署并等待工作流完成。

  8. 验证是否已创建以下内容

    • PyPI 发布

    • Git 标签

    • GitHub 发布页面

    • GitHub 讨论页面

    • GitHub 拉取请求

  9. 合并包含变更日志更新补丁的发布拉取请求。使用自然/原生合并策略。

    危险

    不要使用 squash 或 rebase。 release/vNUMBER 分支包含一个带标签的提交。该提交必须成为存储库默认分支的一部分。未能遵循此说明将导致 setuptools-scm 混淆并错误地生成中间提交版本。

    提示

    如果您在触发发布自动化时使用了 YOLO 模式,则分支保护规则可能会阻止您单击合并按钮。在这种情况下,可以暂时取消选中分支保护配置中的 不允许绕过以上设置 设置,单击合并按钮,使用管理员覆盖,并立即重新选中它。

  10. 告诉所有人您发布了 ansible-pylibssh 的新版本!