如何根据输出条件运行 Github 操作的步骤?



如果有超过 100 个 flake8 错误,我想对 PR 发表评论,但它不会禁用合并按钮。

我的方法如下:

name: Flake8 Check
on:  [pull_request]
jobs:
flake8:
name: Flake8 Check
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Install Python
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install dependency
run: pip install flake8
- name: Flake8
id: flake
run: echo "::set-output name=number::$(flake8 --config=tools/dev/.flake8 --count -qq)"

- name: comment PR
uses: unsplash/comment-on-pr@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
msg: "There are ${{ steps.flake.outputs.number }} Flake8 errors which is a lot :disappointed: nThis will not block you to merge it but please try to fix them."
check_for_duplicate_msg: true
if: ${{ steps.flake.outputs.number }} > 100 

但是,即使错误少于 100 个,它也在评论。我已经检查了文档,它对我来说看起来是正确的。

我错过了什么?

在上下文的 github 操作页面上,他们建议不要在if上下文的情况下使用${{ }},尽管它们也显示了使用${{ }}语法的if条件,但我想它实际上并不像您在此处显示的那样工作。

因此,在您的情况下,您需要将if更改为:

if: steps.flake.outputs.number > 100

if: ${{ steps.flake.outputs.number }}> 100

文档似乎表明,使用 ${{ }} 会将内容转换为字符串,这对您的比较没有帮助。

最新更新