对于这部分工作,在我的 GitHub 开源项目TextHTMLPress中应用了 CI(持续集成)管道。

一般来说,CI 是一种方法,每当有任何东西被推送到 repo 或发出新的拉取请求时,我们都会自动构建和运行我们的测试(即,将所有东西集成到我们的项目中)。通过这种方式,我们可以实现不允许任何开发人员破坏主分支的想法。

对于 GitHub 项目,GitHub 提供了自己的 CI 服务,称为GitHub Actions。 Actions 允许我们自动化工作流程以响应 GitHub 存储库中的事件(例如,合并到 main、创建拉取请求等)。在这个 repo 中,我创建了一个运行我的测试的 GitHub Actions 工作流,并且可以在任何推送到默认分支(例如 main)以及任何拉取到默认分支的请求时触发。添加一个GitHub Actions for python项目,手册在这里,就是在你的仓库的.github/workflows目录下添加一个.yml工作流文件。我的工作流文件可以在这里找到。

CI流程集成到我的项目中,它将使用Python 3.6、3.7、3.8和3.9版本在ubuntu系统中测试代码。它可以安装依赖项,使用 Flake8 进行 lint,并使用 pytest 运行测试。

在我设置了我的 CI 之后,我提交了一个 PR 来测试我的 CI 并且它自动通过了所有测试。同样,我提交了另一个PR来测试另一个开源的CI。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐