github actions 中的空矩阵中的条件问题

问题描述 投票:0回答:1

我有一些输出变量

  • 有更改
  • 图表

我已经测试过 has_changes 为 false 并且图表设置为 [],但是在 github 操作中的 if 条件下,它仍然尝试运行我的工作,即使它是 false..

这是我的工作流程示例

  get-chart:
    name: Get Chart Information  
    runs-on: ubuntu-latest

    outputs:
      has_changes: ${{ steps.get-chart.outputs.has_changes }}
      charts: ${{ steps.get-chart.outputs.charts }}

    steps:
      - id: get-chart
        run: |
          echo "charts=[]" >> $GITHUB_OUTPUT
          echo "has_changes=false" >> $GITHUB_OUTPUT

  example:
    name: ${{ matrix.chart }}
    runs-on: ubuntu-latest
    needs: [get-chart]
    if: ${{ needs.get-chart.outputs.has_changes }}

    strategy:
      matrix: 
        chart: "${{ fromJSON(needs.get-chart.outputs.charts) }}"

我的工作流程失败了

Matrix vector 'chart' does not contain any values

我不太确定是什么原因造成的,因为它似乎设置正确......有什么建议吗?

github continuous-integration github-actions
1个回答
0
投票

我承担这个角色

    if: ${{ needs.get-chart.outputs.has_changes }}

未正确检查。我尝试重现您的工作流程,或者将变量

has_changes
设置为空值,即

          echo "has_changes=" >> $GITHUB_OUTPUT

或者将

if
条件更改为类似

    if: ${{ needs.create_variable.outputs.has_changes != 'false' }}
© www.soinside.com 2019 - 2024. All rights reserved.