版本发布
Task 的发布流程通过 GoReleaser 实现。您可以通过调用 Taskfile 中的 test-release 任务在本地测试发布流程。
当新的 Git 标签推送到 main 分支时,GitHub Actions 会自动发布构建产物(原始可执行文件及 DEB 与 RPM 包)。
自 v3.15.0 起,通过检出特定标签并使用上述 GitHub Actions 中定义的 Go 版本运行 goreleaser build 命令,也可在本地复现并验证原始可执行文件。
Homebrew
Goreleaser 会自动向 Homebrew 第三方库 的 Formula/go-task.rb 文件推送新提交以发布新版本。
npm
发布到 npm 时,请更新 package.json 文件中的版本号,然后运行 task npm:publish 进行推送。
Snapcraft
发布 snap 包 需手动执行两个步骤:
- 在 snapcraft.yaml 中更新当前版本
- 于 Snapcraft 控制台 将
amd64、armhf和arm64的新构建产物移至稳定通道
winget
winget 同样需要手动操作。通过在本地运行 task goreleaser:test,会在 dist/winget/manifests/t/Task/Task/v{version} 目录生成清单文件。将清单目录上传至此分支 并向 此仓库 提交拉取请求。
Scoop
Scoop 是 Windows 操作系统的命令行包管理器。Scoop 包清单由社区维护,Scoop 维护者通常会通过编辑此文件来更新版本。如果您发现 Task 版本过时,请提交问题通知我们。
Nix
Nix 是由社区维护的安装方式。Nix 包维护者通常会通过编辑此文件来更新版本。如果您发现 Task 版本过时,请提交问题通知我们。