我正在尝试理解 GitHub 操作中的布尔表达式。该手册给出了以下不同类型文字的示例${{ false }},包括布尔值 as和${{ true }}。
按照他们的指导,我使用以下步骤,将一个env部分设置VARF为 false 和VARTtrue,然后在run密钥中有一些测试输出:
- name: Var test
env:
VARF: ${{ false }}
VART: ${{ true }}
run: |
echo "VART=${{ env.VARF }}"
echo "VART=${{ env.VART }}"
echo "VARF && VART=${{ env.VARF && env.VART }}"
echo "VARF || VART=${{ env.VARF || env.VART }}"
echo "!VARF=${{ ! env.VARF }}"
echo "!!VART=${{ !! env.VART }}"
Run Code Online (Sandbox Code Playgroud)
输出如下:
VART=false
VART=true
VARF && VART=true
VARF || VART=false
!VARF=false
!!VART=true
Run Code Online (Sandbox Code Playgroud)
纯输出如预期,显示true和false。&&和运算符的输出||与预期相反,给出false && true == true和false || true == false。${{ ! env.VARF }}当我期望为真时,的输出为假。
这里发生了什么?环境上下文中的变量可能被强制转换为字符串,但这仍然不能解释所有结果。
小智 5
输入上下文(dispatch_workflow 与workflow_call)和 GitHub Actions 处理布尔值的方式之间存在一些不一致。我对此有一篇简短的文章。希望您觉得这有帮助
GitHub Actions:将布尔输入变量传递给可重用的workflow_call
| 归档时间: |
|
| 查看次数: |
3003 次 |
| 最近记录: |