CI/CD

GitHub 工作流

  • pr.yml:
    • 运行所有拉取请求的测试
    • 运行 nx affected,该命令仅执行缓存失效的任务
    • 还使用 pkg-pr-new 来发布包预览并创建示例链接
  • release.yml:
    • 运行合并到发布分支的代码的测试
    • 运行 nx run-many,该命令执行所有任务并确保输出已生成(发布构建所必需)
    • 使用 Changesets 来处理版本控制和发布

Nx

TanStack 项目使用 Nx 来加速测试和构建的执行。任务在本地和 CI 中并行化和缓存。虽然 Nx 有一个广泛的插件系统,但我们仅将其用作 NPM 脚本运行器。

配置文件

  • ./nx.json:主配置文件,定义了任务依赖、输入和输出
  • ./package.json:需要手动指定根目录脚本(例如 test:format
  • ./**/package.json:包级别的脚本(例如 build)会自动检测

Nx Agents

  • Nx 允许您将任务分发到多个 CI 机器上,从而增加可以并行运行的作业数量
  • 请注意,这会带来相当大的启动延迟
我们的合作伙伴
Code Rabbit
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。