背景
在执行工作之前,我希望在我的工作流程中检查是否存在一个秘密。
就像这样:
publish:
runs-on: ubuntu-latest
if: secrets.AWS_ACCESS_KEY_ID != ''
steps:
[ ... ]
然而,当我使用这个表达式时,我遇到了这样的错误:
The workflow is not valid. .github/workflows/release.yml (Line: 11, Col: 9): Unrecognized named-value: 'secrets'...
我的尝试
我试图以另一种方式编写表达式:
if: ${{ secrets.AWS_ACCESS_KEY_ID != '' }}
if: ${{ secrets.AWS_ACCESS_KEY_ID }} != ''
问题
如何在Github Actions工作流程中实现我想要的功能?
if: foo && bar
,所以如果我将其更改为if: "${{ env.MY_KEY != '' }}" && foo && bar
,它会给出语法错误,因此我必须删除双引号,使其变为if: ${{ env.MY_KEY != '' }} && foo && bar
,然而,我刚刚意识到后者在语法上可以工作,但无法检测密钥是否为空。 - knoctejobs.<job_id>.if
(或 jobs.<job_id>.steps[*].if)条件表达式中。这将保持所需的秘密上下文。 - codejedi365