GitHub Actionsのmatrixのconclusionを後続のジョブで取得する

needs.job_id.result がいずれかのmatrixの結果しか返さない、っぽい。

いくつかやり方はありそうだったがAPI使ったチェック用ジョブを設定するのが簡単だった。

  finish:
    needs: test
    if: always()
    runs-on: ubuntu-latest
    steps:
      - name: Check test conclusion
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh api /repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs \
          | jq -e '.jobs | map(select(.name | test("^test ")).conclusion) | any(. == "failure") | not'