如何将"Process completed with exit code 1."替换为自定义错误注释?



我的一个操作中有echo "::error title=Foo::Bar",这样我就可以给出一个更具描述性的错误注释,而不仅仅是"处理完成,退出代码为1;,并且这具有向具有给定标题和文本的作业和工作流添加错误注释的期望效果。然而;过程完成,退出代码为1;仍然存在,所以我从每一份这样的工作中都会出现两个错误。如果我以代码0退出,那么作业状态将从红色-x标记更改为绿色复选标记,这不是我想要的。

是否有一种方法可以用我的自定义错误替换单个错误,而不会更改作业的状态或产生其他副作用?

示例工作流程代码:

name: test
on:
push:
branches: [ "main" ]
jobs:
foo:
runs-on: ubuntu-latest
steps:
# TODO suppress default "Process completed with exit code 1." error
- name: Error
run: |
echo "::error title=Foo::Bar"
(exit 1)

https://github.com/actions/github-script公开了针对Github api执行javascript的能力,包括core.setFailed

- steps:
- name: Foo
uses: actions/github-script@v3
with:
script: |
core.setFailed('Custom error message')

这将导致Foo步骤失败,出现相应的红色(X(图标,并影响后续步骤,而不需要额外的退出代码注释。

最新更新