3 个版本 (破坏性)
0.3.0 | 2023 年 12 月 21 日 |
---|---|
0.2.0 | 2023 年 12 月 13 日 |
0.1.0 | 2023 年 6 月 1 日 |
在 配置 中排名 281
68KB
2K SLoC
🏗️ FlowCrafter
FlowCrafter 是一个命令行工具,用于创建和管理 GitHub Actions 的工作流程。
安装
可以使用 cargo
安装 FlowCrafter。运行以下命令将下载 FlowCrafter 的最新版本,编译它,并将其作为命令行工具提供。
cargo install flowcrafter
安装后,flowcrafter
作为终端中的一个命令可用
flowcrafter --help
用法
使用 FlowCrafter 包括三个不同的步骤
创建模板
FlowCrafter 使用存储在 GitHub 上的模板来创建工作流程和作业。这些是遵循一些约定的 YAML 文件
- 存储库包含每个工作流程的文件夹(例如
rust
)。 - 每个工作流程文件夹包含一个名为
workflow.yml
的文件,该文件定义了工作流程(例如rust/workflow.yml
)。 - 作业模板存储在工作流程文件相同的文件夹中(例如
rust/lint.yml
)。
工作流程
工作流程模板设置了工作流程的最高级配置。它还可以包含始终应包含在工作流程中的作业列表。
工作流程模板始终命名为 workflow.yml
。
---
name: Rust
"on":
push:
branches:
- main
pull_request:
jobs:
run-always:
name: Always include this job
runs-on: ubuntu-latest
steps:
- run: echo "This will always be included"
作业
作业在单个 YAML 文件中定义,位于工作流程文件夹内。每个都代表可以在工作流程中包含的单个作业。
style:
name: Check style
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run Rustfmt
run: cargo fmt --all -- --check
初始化 FlowCrafter
FlowCrafter 管理 GitHub 存储库中的工作流程。在将存储库克隆到本地计算机后,打开终端,更改到其目录,然后为 FlowCrafter 生成配置文件。
flowcrafter init -r <owner>/<repo>
这将创建一个名为 .flowcrafter.yml
的文件,位于 .github
目录中,并将仓库 owner/repo
配置为工作流程和作业模板的源。
创建工作流程
在FlowCrafter初始化并在GitHub上有模板后,现在您可以使用FlowCrafter创建工作流程
flowcrafter create -w <workflow> -j <job> -j <job>
例如,给定以下模板的仓库
rust
├── lint.yml
├── test.yml
└── workflow.yml
您可以使用以下命令创建Rust的工作流程
flowcrafter create -w rust -j lint -j test
这将创建文件 .github/workflows/rust.yml
并将 workflow.yml
和两个作业 lint.yml
和 test.yml
合并到其中。
许可证
许可协议为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您提交给工作内容的任何有意贡献都应如上双重许可,无需任何额外的条款或条件。
依赖关系
~13–26MB
~412K SLoC