4 个版本
0.5.1 | 2024 年 6 月 27 日 |
---|---|
0.5.0 | 2024 年 2 月 9 日 |
0.4.1 | 2024 年 1 月 21 日 |
0.4.0 | 2024 年 1 月 21 日 |
#630 在 开发工具 中排名
每月 149 次下载
56KB
1K SLoC
auto-release
此包提供了一个可执行的程序,可以从 Github Actions 中运行以将代码发布到 crates.io 并推送 git 标签。
所有发布所需的代码更改都由开发者在常规 git 提交中完成。该提交包括在 Cargo.toml
中提升版本,以及 Cargo.lock
、更改日志文件等的任何更新。提交将通过正常的拉取请求流程进行审查和合并。一旦合并,Github Actions 作业将运行 auto-release
实际推送发布。
这种方式发布有几个优点,优于本地发布流程
- 它可以大大减少出错的机会,例如忘记同步本地分支或忘记推送 git 标签。
- Cargo 凭据可以安全地存储在 Github 上,无需本地副本。
用法
创建一个 Github Actions 工作流程,例如 .github/workflows/release.yaml
on:
push:
branches:
- main
name: Release
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cargo install auto-release
- run: auto-release -p <package>
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
auto-release
包具有最小的编译时依赖项,因此编译速度非常快。它依赖于各种程序可用,所有这些程序都已安装和配置在 Github 的 Ubuntu 运行器上
cargo
curl
gh
git
jq
Cargo 注册表令牌
在您的 crates.io 账户设置 中生成 cargo 注册表令牌。令牌范围必须包括 publish-update
。如果该包以前从未发布过,则需要 publish-new
。
为了使令牌可用于 Github Actions 工作流程
- 转到您的存储库设置
- 点击侧边栏中的
秘密和变量
,然后点击操作
- 在
仓库秘密
下,点击新建仓库秘密
。
选项
-p
/--package
可以多次指定以发布多个包。请注意,如果包相互依赖,顺序可能很重要。--condition body
添加一个条件,即提交信息体必须以 "release:" 开头,否则提交将被忽略。--condition subject
添加一个条件,即提交信息主题必须以 "release:" 开头,否则提交将被忽略。
许可证
根据您的选择,在 Apache License, Version 2.0 或 MIT 许可证 下授权。
贡献
免责声明
本项目不是官方的 Google 项目。它不受 Google 支持,Google 明确声明对该项目的质量、商誉或特定用途的适用性不承担任何保证。