Releasing

所有发布都是通过 GitHub Action 自动进行的。

所有 @rspack/cli 的发版可以在 npm versions page 找到。它们被打上了 tag

  • latest 和语义化版本 x.y.z
  • nightly
  • canary

Latest 版本全量发布

全量发布工作流 目前在每个周二被手动触发,配合全量发布的 release notes。

下面的 9 个目标产物会被构建

  • x86_64-unknown-linux-gnu
  • aarch64-unknown-linux-gnu
  • x86_64-unknown-linux-musl
  • aarch64-unknown-linux-musl
  • i686-pc-windows-msvc
  • x86_64-pc-windows-msvc
  • aarch64-pc-windows-msvc
  • x86_64-apple-darwin
  • aarch64-apple-darwin

Nightly

nightly 发布工作流 在每天的 UTC 16:00:07 被触发,是 北京时间的凌晨 00:07 (偏移奇数分钟以避免 cron 作业同时触发)。

nightly 构建完全复制了全量发布构建,以便尽早发现错误。

Canary

canary 发布工作流 需要手动触发。

使用 nightly/canary 版本

在发布 Rspack 的 nightly/canary 版本时,发布的包名会被添加 -canary 后缀,你需要配合包管理器 npm / yarn / pnpm 的 overrides 功能来使用这些版本。

以 pnpm 为例:

package.json
{
  "pnpm": {
    "overrides": {
      "@rspack/binding": "npm:@rspack/binding-canary@nightly",
      "@rspack/core": "npm:@rspack/core-canary@nightly",
      "@rspack/plugin-react-refresh": "npm:@rspack/plugin-react-refresh@nightly"
    },
    "peerDependencyRules": {
      "allowAny": ["@rspack/*"]
    }
  }
}

Rspack 社区提供了 install-rspack 工具来快速修改 Rspack 版本:

npx install-rspack --version nightly # Get latest nightly npm tag version
npx install-rspack --version 0.7.5-canary-d614005-20240625082730 # A specific canary version