Rust cargo
GitHub Action 使用教程
cargo 📦 GitHub Action for Rust `cargo` command 项目地址: https://gitcode.com/gh_mirrors/cargo1/cargo
项目介绍
actions-rs/cargo
是一个用于 Rust 语言项目的 GitHub Action,它允许你在 GitHub Actions 工作流中运行指定的 cargo
命令。这个 Action 特别适用于自动化 Rust 项目的构建、测试和发布流程。通过使用这个 Action,你可以轻松地将 Rust 项目的 CI/CD 流程集成到 GitHub 的持续集成和持续部署系统中。
项目快速启动
1. 创建 GitHub Actions 工作流文件
在你的 Rust 项目根目录下,创建一个 .github/workflows
目录,并在其中创建一个 YAML 文件,例如 ci.yml
。
2. 编写工作流配置
在 ci.yml
文件中,编写以下内容来配置一个简单的 CI 工作流:
name: Rust CI
on: [push]
jobs:
build_and_test:
name: Rust project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --all-features
3. 提交并推送代码
将修改后的文件提交并推送到 GitHub 仓库:
git add .github/workflows/ci.yml
git commit -m "Add GitHub Actions workflow for Rust CI"
git push origin main
4. 查看工作流运行结果
在 GitHub 仓库的 "Actions" 标签页中,你可以查看工作流的运行结果。
应用案例和最佳实践
1. 自动化测试
在 CI 工作流中添加测试步骤,确保每次代码推送后都能自动运行测试:
jobs:
build_and_test:
name: Rust project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: test
2. 跨平台构建
使用 cross
工具进行跨平台构建,例如在 ARM 架构上构建 Rust 项目:
jobs:
linux_arm7:
name: Linux ARMv7
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: armv7-unknown-linux-gnueabihf
override: true
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --target armv7-unknown-linux-gnueabihf
典型生态项目
1. actions-rs/toolchain
actions-rs/toolchain
是一个用于安装和管理 Rust 工具链的 GitHub Action。它与 actions-rs/cargo
配合使用,可以确保在不同的 Rust 版本和工具链上运行 cargo
命令。
2. actions/checkout
actions/checkout
是一个用于签出代码库的 GitHub Action。它是所有 GitHub Actions 工作流的基础,确保工作流能够访问代码库中的文件。
3. actions/cache
actions/cache
是一个用于缓存依赖项的 GitHub Action。在 Rust 项目中,它可以缓存 cargo
的依赖项,加快构建速度。
通过结合这些生态项目,你可以构建一个高效、可靠的 Rust 项目 CI/CD 工作流。
cargo 📦 GitHub Action for Rust `cargo` command 项目地址: https://gitcode.com/gh_mirrors/cargo1/cargo