为Explainerjs制作CI管道

为explainerjs制作ci管道

本周我们为我的Explainer.js 制作了一个 CI 管道。由于我在过去几周设置了不同的脚本,因此相当简单。

在Explainer.js中设置CI

首先设置 CI 管道是在 .github/workflows 目录中添加一个 YML 文件。我使用了 GitHub 上的默认版本的 node.js CI 模板,但进行了一些更改。首先,我使用默认选项制作了一份 PR 草案。然后我拉动树枝并做了一些调整。我更改了名称,将构建工作分成了三个独立的工作。构建以安装节点,然后进行 lint 和格式化,最后进行测试以运行测试。我还使用 need 关键字来跳过下一项工作,因此如果前一项工作失败,它将跳过下一项工作。因此,如果节点设置失败,它将不会运行 lint-and-format,如果 lint-and-format 失败,它将不会运行测试。这种情况确实发生了几次,因为我的 index.test.js 没有正确设置,所以我必须通过 argv 传递 test-api-key 来使其运行,从而进行一个小修复。它在本地运行良好,因为我已经设置了 .toml 和 .env。设置 lint-and-format 相当简单,因为当我尝试在本地提交时运行脚本,因此它会自动格式化我的文件。我根据项目的需要对默认的 YML 文件进行了更改。而且效果非常好!看看吧。

在DocBot中工作

我在 DocBot 工作过。虽然该项目是用 JS 编写的,但该项目使用了一个不同的测试框架,称为 vitest,它与 jest 兼容。我立即注意到一件事,与开玩笑相比,它的速度有多快。并且终端输出是超级抛光的。让解决这个问题变得非常愉快。我致力于使 file.test.js 测试套件与操作系统无关。我在 WSL 终端中运行它,运行良好,但它没有在 cmd.exe 中运行。我立即注意到预期的路径结构有所不同。上周我在explainer.js 中完成测试时遇到了一些问题。我默认使用 WSL,但我记得不是每个人都有它,所以我在 cmd.exe 中运行它,并且我在 FilePathResolver.test.js 中编写的测试遇到了同样的问题,所以我必须修复它。因此,在使用默认设置的 vscode 终端时,很容易忽略在不同操作系统中运行终端。经过一番尝试和错误后,我修复了它并取得了我的 PR。

以上就是为Explainerjs制作CI管道的详细内容,更多请关注其它相关文章!