diff --git a/.github/workflows/track-review-project.yaml b/.github/workflows/track-review-project.yaml index afe7fe9..998d168 100644 --- a/.github/workflows/track-review-project.yaml +++ b/.github/workflows/track-review-project.yaml @@ -109,10 +109,13 @@ jobs: sr_approved=$(echo "$reviews" | jq --arg sr "$scitech_reviewer" '[.reviews[] | select(.author.login == $sr and .state == "APPROVED")] | length') sr_changes=$(echo "$reviews" | jq --arg sr "$scitech_reviewer" '[.reviews[] | select(.author.login == $sr and (.state == "CHANGES_REQUESTED" or .state == "COMMENTED"))] | length') + cr_approved=$(echo "$reviews" | jq --arg cr "$code_reviewer" '[.reviews[] | select(.author.login == $cr and .state == "APPROVED")] | length') + cr_changes=$(echo "$reviews" | jq --arg cr "$code_reviewer" '[.reviews[] | select(.author.login == $cr and (.state == "CHANGES_REQUESTED" or .state == "COMMENTED"))] | length') + [[ ! -z "$scitech_reviewer" ]] && [[ "$sr_requested" -eq 0 ]] && [[ "$sr_approved" -eq 0 ]] && [[ "$sr_changes" -eq 0 ]] && echo "SR_REQUEST_REQUIRED=true" >> $GITHUB_ENV - if [[ -z "$scitech_reviewer" ]] && [[ "$cr_requested" -gt 0 ]]; then - echo "No SR set and CR requested so assuming this is trivial" + if [[ -z "$scitech_reviewer" ]] && [[ "$cr_requested" -gt 0 || "$cr_approved" -gt 0 || "$cr_changes" -gt 0 ]]; then + echo "No SR set and CR in progress so assuming this is trivial" else if [[ "$sr_approved" -eq 0 ]]; then if [[ -z "$scitech_reviewer" ]] && [[ "$sr_changes" -eq 0 ]]; then @@ -127,8 +130,7 @@ jobs: fi fi - cr_approved=$(echo "$reviews" | jq --arg cr "$code_reviewer" '[.reviews[] | select(.author.login == $cr and .state == "APPROVED")] | length') - cr_changes=$(echo "$reviews" | jq --arg cr "$code_reviewer" '[.reviews[] | select(.author.login == $cr and (.state == "CHANGES_REQUESTED" or .state == "COMMENTED"))] | length') + # SR complete or trivial PR so move to code review states if [[ "$cr_approved" -gt 0 ]]; then required_state="Approved"