开源项目 pr-size-labeler
使用教程
1. 项目的目录结构及介绍
pr-size-labeler
是一个用于自动标记 Pull Request 大小的 GitHub Action。项目的目录结构相对简单,主要包含以下几个部分:
pr-size-labeler/
├── .github/
│ └── workflows/
│ └── labeler.yml
├── src/
│ ├── index.js
│ └── utils.js
├── .gitignore
├── LICENSE
├── package.json
└── README.md
- .github/workflows/labeler.yml: 定义了 GitHub Actions 的工作流程,用于自动标记 Pull Request 的大小。
- src/: 包含项目的主要源代码文件。
- index.js: 项目的入口文件,负责主要的逻辑处理。
- utils.js: 包含一些辅助函数。
- .gitignore: 指定不需要跟踪的文件和目录。
- LICENSE: 项目的开源许可证。
- package.json: 项目的依赖和脚本配置文件。
- README.md: 项目的说明文档。
2. 项目的启动文件介绍
项目的启动文件是 src/index.js
。这个文件负责处理 Pull Request 的大小计算和标签分配。以下是 index.js
的主要功能:
- 读取 Pull Request 的更改信息。
- 根据更改的行数和文件数计算 Pull Request 的大小。
- 根据计算结果分配相应的标签(如
size/xs
,size/s
,size/m
,size/l
,size/xl
)。
3. 项目的配置文件介绍
项目的配置文件主要是 .github/workflows/labeler.yml
。这个文件定义了 GitHub Actions 的工作流程,以下是配置文件的主要内容:
name: 🏷 PR size labeler
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
pr-labeler:
runs-on: ubuntu-latest
name: Label the PR size
steps:
- uses: actions/checkout@v2
- uses: codelytv/pr-size-labeler@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
xs_label: 'size/xs'
xs_max_size: '10'
s_label: 'size/s'
s_max_size: '100'
m_label: 'size/m'
m_max_size: '500'
l_label: 'size/l'
l_max_size: '1000'
xl_label: 'size/xl'
fail_if_xl: 'false'
message_if_xl: >
This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.
- name: 工作流程的名称。
- on: 定义触发工作流程的事件,这里是 Pull Request 的打开、同步和重新打开事件。
- jobs: 定义工作流程的任务。
- pr-labeler: 任务的名称。
- runs-on: 运行任务的虚拟机环境。
- steps: 任务的具体步骤。
- uses: 使用
codelytv/pr-size-labeler
这个 GitHub Action。 - with: 配置 Action 的参数,包括 GitHub Token、标签名称和大小阈值等。
- uses: 使用
- pr-labeler: 任务的名称。
通过以上配置,pr-size-labeler
可以自动根据 Pull Request 的大小分配相应的标签,帮助团队更好地管理代码审查流程。