打印 github 操作作业中步骤的结果

print the outcome of a step in github actions job

我正在尝试上传一个记录 mvn 构建结果的工件。代码会更好地解释:

jobs:
  job1:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v2
    ...
    - name: mvn-build
      continue-on-error: true
      run: |
        mvn package ...
      
      # This doesn't work because on mvn fail - the step is terminated with an error signal > 0
        STATUS=$?
        if [ $STATUS -eq 0 ]; then
        echo 1 > runs/log.txt
        else
        echo 0 > runs/log.txt
        fi

    # This part does create the file (upload-artifact@v1) but the with an empty content
    - name: print-result
      env:
        OUTCOME: ${{ steps.mvn-build.outcome }}
      run: |
        echo "$OUTCOME" > runs/log.txt

作业终止,因为命令以非零代码退出。只是不要 运行 在顶层执行该命令,你会没事的!

jobs:
  job1:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v2
    ...
    - name: mvn-build
      continue-on-error: true
      run: |
        if  mvn package ... ; then
        echo 1 > runs/log.txt
        else
        echo 0 > runs/log.txt
        fi

    # This part does create the file (upload-artifact@v1) but the with an empty content
    - name: print-result
      env:
        OUTCOME: ${{ steps.mvn-build.outcome }}
      run: |
        echo "$OUTCOME" > runs/log.txt

有关此 bash 行为的更多信息,请点击此处:https://unix.stackexchange.com/a/22728/178425