tj-actions/changed-files 使用指南
本指南将详细介绍开源项目 tj-actions/changed-files,它是一个GitHub Actions,用于检索相对于目标分支或当前分支(前一次提交或最后一个远程提交)、多个分支或自定义提交的所有更改过的文件和目录。
1. 项目目录结构及介绍
项目遵循标准的GitHub仓库结构,其主要目录和文件简要说明如下:
-
根目录:
action.yml
: GitHub Action的配置文件,定义了Action的工作流参数和运行逻辑。CODE_OF_CONDUCT.md
,CONTRIBUTING.md
,LICENSE
,README.md
,SECURITY.md
: 开源项目的标准文件,分别介绍了代码规范、贡献指南、许可证信息、项目简介和安全相关事项。src
和test
: 分别包含了源代码和测试代码,确保Action的正确执行。jest.config.js
: Jest测试框架的配置文件。package.json
,yarn.lock
: Node.js项目的元数据和依赖管理文件。prettierrc.json
,.eslintignore
,.gitignore
: 代码风格检查和版本控制忽略规则配置。renovate.json
: 自动化更新依赖的配置文件。
-
配置和脚本:
- 不存在传统意义上的单一“启动文件”,因为这是一个在GitHub工作流中使用的Action。但是,配置样例通常位于
.github/workflows
目录下,由用户根据需求定制。
- 不存在传统意义上的单一“启动文件”,因为这是一个在GitHub工作流中使用的Action。但是,配置样例通常位于
2. 项目的启动流程(非直接启动,集成于GitHub Workflows)
由于这是一个GitHub Action,它不以传统的应用程序形式启动。而是通过GitHub的工作流yaml文件集成并触发。典型的“启动”步骤是在.github/workflows
目录下创建一个新的YAML文件,然后在这个文件中调用tj-actions/changed-files
Action,并设置必要的参数。例如:
on: [push, pull_request]
jobs:
changed-files-job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: tj-actions/changed-files@v45
with:
files: |
**/*.md
since_last_remote_commit: true
这里的YAML脚本定义了一个监听push和pull_request事件的作业,使用actions/checkout获取代码,接着调用tj-actions/changed-files来检测指定类型的文件变化情况。
3. 项目的配置文件介绍
(A) 行动配置 (action.yml
)
- 重要: 这是定义Action本身行为的文件,包括输入参数(
inputs
)和输出结果(outputs
)。开发者不会直接修改此文件,但在调用Action时需要理解这些参数的含义和用法。
(B) 用户配置(Workflows中的YAML片段)
实际的“配置”更多体现在用户的工作流文件中。例如,如何配置with
段落来指定文件匹配模式、是否从上次远程提交以来获取变化等。用户通过在自己的.github/workflows/*
文件中加入特定的配置来“定制”Action的行为,如示例所示。
- files: 指定哪些文件的变化应当被监测,支持Glob模式匹配,可以复杂到使用YAML的语法特性如锚点和别名。
- since_last_remote_commit: 示例中的一个输入参数,用来设定是否只查看自上一次远程提交以来的文件变更。
总结来说,虽然tj-actions/changed-files
没有单个的启动文件,它的使用高度依赖于GitHub Workflows的配置,通过在YAML工作流文件中的定制来“启动”或集成该Action,实现对项目文件变化的监控和处理。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考