3 个版本
0.2.5 | 2024年3月26日 |
---|---|
0.2.4 | 2024年3月26日 |
0.2.3 | 2024年3月26日 |
#497 在 开发工具
每月51 次下载
31KB
272 行
publish-action
使用 Github Action 自动发布 Cargo
如果你有一个 cargo 仓库,当发布新版本时,通常需要以下步骤
- 在 Cargo.toml 中更新版本
- 标记仓库
- 发布到 crates.io
- 推送到 github
有时,我们会忘记标记 github 仓库。因此,我创建了 github action。
现在,你只需要在 Cargo.toml 中更新版本,在你推送到 github 后,github action 可以自动标记 github 仓库,并使用新版本发布到 crates.io。
在发布之前,你还可以运行测试用例。
输出(0.1.15 +)
运行操作后,你可以通过输出判断状态(是否有新版本,发布是否成功)。
new_version
: 返回 'true' 或 'false'publish
: 返回 'true' 或 'false'
用法
-
你应在 https://crates.io/settings/tokens 创建一个 crates.io 的 token 并复制它。
-
打开你的仓库设置页面,找到环境设置页面(https://github.com/xxx/xxx/settings/environments)。创建一个名为
cargo
的新环境,并添加一个名为CARGO_REGISTRY_TOKEN
的环境密钥,此值为第一步的 token。 -
打开操作设置,在 工作流权限 中选择 读取和写入权限 选项,并保存。
-
打开你本地的仓库路径,在
.github/workflows
路径下创建一个新的 github action 设置文件,例如:publish.yaml
,并写入
name: Publish to Cargo
on:
push:
branches: [ master ]
jobs:
publish:
runs-on: ubuntu-latest
name: 'publish'
# Reference your environment variables
environment: cargo
steps:
- uses: actions/checkout@master
# Use caching to speed up your build
- name: Cache publish-action bin
id: cache-publish-action
uses: actions/cache@v3
env:
cache-name: cache-publish-action
with:
path: ~/.cargo
key: ${{ runner.os }}-build-${{ env.cache-name }}-v0.2.0
# install publish-action by cargo in github action
- name: Install publish-action
if: steps.cache-publish-action.outputs.cache-hit != 'true'
run:
cargo install publish-action --version=0.2.0
- name: Run publish-action
id: publish-action
run:
publish-action
env:
# This can help you tagging the github repository
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# This can help you publish to crates.io
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
#- name: Update Changelog.md
# if: steps.publish-action.outputs.new_version == 'true' && steps.publish-action.outputs.publish == 'true'
# run: |
# changelog -o Changelog.md
- 你可以使用新的 github action 推送到 github。这样就完成了。
现在你更改 Cargo.toml,这将自动运行。
支持自定义注册表 +0.2
使用备用注册表,这是 文档
依赖关系
~88MB
~1.5M SLoC