我一直在尝试这个,并在 Github 上找到了一个解决方案。
因此,仅仅一个最近的 CI 作业的绿色勾号是不够的,因为最近可能会发生一些变化,从而破坏插件。基本上,当 Discourse 更新分支时,您需要重新运行 CI 作业。
在我的 示例存储库 中,我找到了一个有效的解决方案。它基本上是一个计划工作流,用于检查 Discourse 存储库的重要分支,以查看是否有更改,如果有,它将触发正常的 CI 工作流,该工作流应运行测试套件。在您的自述文件中,您可以放置一些徽章来显示 CI 工作流如何针对最近的更改运行。
监控工作流 在几秒钟内运行。因此,当计划运行时,它只会消耗 1 分钟的 Github 操作时间。
显然,整个设置的可靠性取决于插件/主题组件开发人员创建良好测试套件的努力。
您仍然存在用户体验问题,即从 Discourse 的“更新”页面中,您不知道最近的 CI 作业是否因特定版本而失败。
因此,除了拥有一个在 Discourse 分支更改时重建插件的监控工作流之外,您还需要创建一个记录结果(通过/失败)的构建工件。在您的插件元数据中,您应该能够指向此工件,并且 Discourse 应该检索此工件以在更新界面中显示兼容性/结果。
这不是一个万无一失的构造,但它是有用的。