[英]Cannot access env vars in `with` of shared-workflow invocation?
我需要維護一個將用於 PR 和 workflow_dispatch 的默認值。 以下是我嘗試使用的模式,但在嘗試訪問 env.var 時出現錯誤。 我在這里怎么錯了,我還能如何獲得相同的結果?
錯誤:
The workflow is not valid. .github/workflows/calling-workflow.yml (Line: 18, Col: 26): Unrecognized named-value: 'env'. Located at position 29 within expression: inputs.checkFoldersArray || env.checkFoldersArray
調用-workflow.yml
on:
pull_request:
workflow_dispatch:
inputs:
checkFoldersArray:
description: 'The working directory to run the tests in'
required: false
default: (".")
env:
checkFoldersArray: (".")
jobs:
pr-merge-checks:
uses: <owner>/<repo>/.github/workflows/called-workflow.yml
with:
checkFoldersArray: ${{ inputs.checkFoldersArray || env.checkFoldersArray }}
我相信如果解決了,我相信這將代表將動態 Github 工作流矩陣與輸入值和預定義值結合起來的答案。
我想出的一個解決方案是將 env 聲明為您的默認值,然后有一個工作可以 output ${{ a || b }} 值,或者您需要應用默認 vs 輸入。
在此示例中,您可以使用 false 值進行調度,PR 將使用默認值 true。
on:
pull_request:
workflow_dispatch:
inputs:
someBooleanFlag:
description: 'Must be true or false. Default is true'
required: false
type: boolean
default: true
env:
someBooleanFlag: true
jobs:
setup-env:
outputs:
someBooleanFlag: ${{steps.setup-env.outputs.someBooleanFlag}}
steps:
- name: Setup Environment
id: setup-env
run: |
echo "::set-output name=someBooleanFlag::${{inputs.someBooleanFlag || env.someBooleanFlag}}";
pr-merge-checks:
needs: setup-env
uses: <owner>/<repo>/.github/workflows/called-workflow.yml
with:
someBooleanFlag: ${{needs.setup-env.outputs.someBooleanFlag}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.