upload-rust-binary-action 使用教程
项目介绍
upload-rust-binary-action
是一个 GitHub Action,用于构建和上传 Rust 二进制文件到 GitHub Releases。这个项目支持多种平台,包括 Linux、macOS 和 Windows,并且可以处理多目标三元组(Target Triple)的构建任务,极大地简化了跨平台发布的流程。
项目快速启动
以下是一个基本的 GitHub Actions 工作流程示例,用于构建和上传 Rust 二进制文件:
name: Build and Upload Rust Binary
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build and upload Rust binary
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: my_binary
target: x86_64-unknown-linux-gnu
在这个示例中,当向 main
分支推送代码时,GitHub Actions 会自动构建并上传名为 my_binary
的 Rust 二进制文件。
应用案例和最佳实践
多平台构建
如果你需要为多个平台构建二进制文件,可以使用矩阵策略:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
target: [x86_64-unknown-linux-gnu, x86_64-apple-darwin, x86_64-pc-windows-msvc]
steps:
- uses: actions/checkout@v4
- name: Build and upload Rust binary
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: my_binary
target: ${{ matrix.target }}
自定义归档名称
你可以自定义上传的归档文件名称:
- name: Build and upload Rust binary
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: my_binary
target: x86_64-unknown-linux-gnu
archive_name: my_custom_archive_name
典型生态项目
upload-rust-binary-action
通常与其他 GitHub Actions 结合使用,例如 create-gh-release-action
,用于自动创建 GitHub Release。以下是一个结合使用的示例:
- name: Create GitHub Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
Changes in this release:
- Feature 1
- Bug fix 2
draft: false
prerelease: false
通过这种方式,你可以自动化整个构建、上传和发布流程。