对于我的项目PR流程,我想添加代码格式检查。我正在使用github市场上的linter,Black(https://github.com/marketplace/actions/black-code-formatter)来做到这一点。我在代码示例中进行了此工作,但是它针对存储库中的所有文件运行,而不仅仅是PR中的修改文件。有什么办法可以改变吗?
我已经从main.workflow
文件的市场页面中运行了该示例,该示例可以正常运行
我认为问题与黑名单有关,现在是:
args = ". --check --fast"
,这会检查每个文件。我不确定如何将其更改为仅检查PR中已修改文件的格式。
答案 0 :(得分:1)
我认为您无法通过该特定操作来完成自己想做的事情。为了将参数传递给操作,您需要使用文字或a context expression。但是,要查找文件列表,您需要使用外壳程序管道,并且无法在上下文表达式中调用外壳程序。
如果您想将Black作为开发依赖项添加到您的项目中,则可以使用环境变量GITHUB_SHA
和GITHUB_BASE_REF
as described in the documentation,然后运行类似于以下内容的代码来调用它:
git diff --name-only "$GITHUB_BASE_REF..$GITHUB_SHA" | xargs black --check --fast
假设该应用程序名为black
,并且可以在命令行上检查任意数量的文件;如果不是这种情况,则可能需要进行调整。如果检查失败,则该命令将退出非零值;如果每个black
调用均成功退出,则该命令将返回非零值。