diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 8d0eff683a..babf1d766a 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -57,3 +57,32 @@ jobs: name: pants-log-py${{ matrix.python-version }} path: .pants.d/pants.log if: always() # We want the log even on failures. + + set_merge_ok: + name: Set Merge OK (Lint) + if: always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') + needs: + - lint-checks + outputs: + merge_ok: ${{ steps.set_merge_ok.outputs.merge_ok }} + runs-on: ubuntu-latest + steps: + - id: set_merge_ok + run: echo 'merge_ok=true' >> ${GITHUB_OUTPUT} + + merge_ok: + name: Merge OK (Lint) + if: always() + needs: + - set_merge_ok + runs-on: ubuntu-latest + steps: + - run: | + merge_ok="${{ needs.set_merge_ok.outputs.merge_ok }}" + if [[ "${merge_ok}" == "true" ]]; then + echo "Merge OK" + exit 0 + else + echo "Merge NOT OK" + exit 1 + fi diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 59eb048265..a7d26b8edf 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -222,3 +222,34 @@ jobs: if: always() # We want the log even on failures. #integration-tests: TODO: run integration tests + + set_merge_ok: + name: Set Merge OK (Tests) + if: always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') + needs: + - unit-tests + - pack-tests + #- integration-tests + outputs: + merge_ok: ${{ steps.set_merge_ok.outputs.merge_ok }} + runs-on: ubuntu-latest + steps: + - id: set_merge_ok + run: echo 'merge_ok=true' >> ${GITHUB_OUTPUT} + + merge_ok: + name: Merge OK (Tests) + if: always() + needs: + - set_merge_ok + runs-on: ubuntu-latest + steps: + - run: | + merge_ok="${{ needs.set_merge_ok.outputs.merge_ok }}" + if [[ "${merge_ok}" == "true" ]]; then + echo "Merge OK" + exit 0 + else + echo "Merge NOT OK" + exit 1 + fi