3个版本
0.0.5 | 2023年5月28日 |
---|---|
0.0.2 | 2023年5月26日 |
0.0.1 | 2023年5月25日 |
#1359 in Rust模式
14KB
83 行
gha-main
在Rust中编写GitHub Actions!
这个crate提供两个便捷宏,以简化在Rust中编写GitHub Actions。
如何使用
- 使用
main()
函数上的#[gha_main]
注释。 - 添加返回类型
GitHubActionResult
。 - 使用
?
运算符传递错误。 - 使用
gha_output!()
宏将输出(任何实现Display
的类型)返回给action runner,以便它们可以在后续工作流程步骤或其他操作中使用。
示例使用
use std::env;
use gha_main::{gha_main, gha_output, GitHubActionResult};
#[gha_main]
fn main() -> GitHubActionResult {
let args: Vec<String> = env::args().collect();
let input = &args[1];
let parsed_u32 = input.parse::<u32>()?;
gha_output!(parsed_u32);
Ok(())
}
包装在gha_output!()
中的值将被以与Rust变量名相同的输出名返回给runner。在上面的示例中,如果操作以输入"5"
调用,则parsed_u32
输出将设置为5
。
通过?
运算符传递的错误将作为error
输出返回给runner。错误值使用anyhow::Error的Display
实现进行格式化。
示例操作
/example-actions文件夹包含几个示例,演示如何在Rust中编写GitHub Actions。
许可证:Apache-2.0 OR MIT
依赖项
~0.7–1.2MB
~25K SLoC