diff --git a/.github/workflows/CherryPickTest.yml b/.github/workflows/CherryPickTest.yml index aed573e776..c9ccf4d680 100644 --- a/.github/workflows/CherryPickTest.yml +++ b/.github/workflows/CherryPickTest.yml @@ -33,7 +33,12 @@ jobs: run: | gh pr edit --repo ${{github.repository}} \ --remove-label ${{vars.CHERRY_PICK_TEST_LABEL}} \ - --add-label ${{vars.TESTING_CHERRY_PICKS_LABEL}} ${{env.PR_NUMBER}} || : + --remove-label ${{vars.CHERRY_PICK_CHECKS_PASSED_LABEL}} \ + --remove-label ${{vars.CHERRY_PICK_CHECKS_FAILED_LABEL}} \ + --remove-label ${{vars.CHERRY_PICK_GATES_PASSED_LABEL}} \ + --remove-label ${{vars.CHERRY_PICK_GATES_FAILED_LABEL}} \ + --add-label ${{vars.CHERRY_PICK_TESTING_IN_PROGRESS}} \ + ${{env.PR_NUMBER}} || : - name: Get cherry-pick branches uses: asterisk/asterisk-ci-actions/GetCherryPickBranchesFromPR@main @@ -78,21 +83,24 @@ jobs: case $RESULT in success) gh pr edit --repo ${{github.repository}} \ - --add-label ${{vars.CHERRY_PICK_CHECKS_PASSED_LABEL}} ${{env.PR_NUMBER}} || : + --add-label ${{vars.CHERRY_PICK_CHECKS_PASSED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::notice::All tests passed" exit 0 ;; skipped) gh pr edit --repo ${{github.repository}} \ - --remove-label ${{vars.TESTING_CHERRY_PICKS_LABEL}} \ - --add-label ${{vars.CHERRY_PICK_CHECKS_FAILED_LABEL}} ${{env.PR_NUMBER}} || : + --remove-label ${{CHERRY_PICK_TESTING_IN_PROGRESS}} \ + --add-label ${{vars.CHERRY_PICK_CHECKS_FAILED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::notice::Unit tests were skipped because of an earlier failure" exit 1 ;; - *) - gh pr edit --repo ${{github.repository}} \ - --remove-label ${{vars.TESTING_CHERRY_PICKS_LABEL}} \ - --add-label ${{vars.CHERRY_PICK_CHECKS_FAILED_LABEL}} ${{env.PR_NUMBER}} || : + *) + gh pr edit --repo ${{github.repository}} \ + --remove-label ${{CHERRY_PICK_TESTING_IN_PROGRESS}} \ + --add-label ${{vars.CHERRY_PICK_CHECKS_FAILED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::error::One or more tests failed ($RESULT)" exit 1 esac @@ -132,24 +140,25 @@ jobs: RESULT: ${{needs.AsteriskGateTestMatrix.result}} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + gh pr edit --repo ${{github.repository}} \ + --remove-label ${{vars.CHERRY_PICK_TESTING_IN_PROGRESS}} \ + ${{env.PR_NUMBER}} || : case $RESULT in success) gh pr edit --repo ${{github.repository}} \ - --remove-label ${{vars.TESTING_CHERRY_PICKS_LABEL}} \ - --add-label ${{vars.CHERRY_PICK_GATES_PASSED_LABEL}} ${{env.PR_NUMBER}} || : + --add-label ${{vars.CHERRY_PICK_GATES_PASSED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::notice::All Testsuite tests passed" exit 0 ;; skipped) - gh pr edit --repo ${{github.repository}} \ - --remove-label ${{vars.TESTING_CHERRY_PICKS_LABEL}} ${{env.PR_NUMBER}} || : echo "::error::Testsuite tests were skipped because of an earlier failure" exit 1 ;; *) gh pr edit --repo ${{github.repository}} \ - --remove-label ${{vars.TESTING_CHERRY_PICKS_LABEL}} \ - --add-label ${{vars.CHERRY_PICK_GATES_FAILED_LABEL}} ${{env.PR_NUMBER}} || : + --add-label ${{vars.CHERRY_PICK_GATES_FAILED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::error::One or more Testsuite tests failed ($RESULT)" exit 1 esac diff --git a/.github/workflows/PROpenedOrUpdated.yml b/.github/workflows/PROpenedOrUpdated.yml index c56b3ee807..148fd025b9 100644 --- a/.github/workflows/PROpenedOrUpdated.yml +++ b/.github/workflows/PROpenedOrUpdated.yml @@ -18,8 +18,24 @@ env: MODULES_BLACKLIST: ${{vars.GATETEST_MODULES_BLACKLIST}} ${{vars.UNITTEST_MODULES_BLACKLIST}} jobs: + SetLabels: + runs-on: ubuntu-latest + steps: + - name: Set Labels + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh pr edit --repo ${{github.repository}} \ + --remove-label ${{vars.TEST_CHECKS_PASSED_LABEL}} \ + --remove-label ${{vars.TEST_CHECKS_FAILED_LABEL}} \ + --remove-label ${{vars.TEST_GATES_PASSED_LABEL}} \ + --remove-label ${{vars.TEST_GATES_FAILED_LABEL}} \ + --add-label ${{vars.TESTING_IN_PROGRESS}} \ + ${{env.PR_NUMBER}} || : + AsteriskUnitTests: runs-on: ubuntu-latest + needs: [ SetLabels ] steps: - name: Run Unit Tests uses: asterisk/asterisk-ci-actions/AsteriskUnitComposite@main @@ -32,6 +48,7 @@ jobs: unittest_command: ${{vars.UNITTEST_COMMAND}} - name: Get Token needed to add reviewers + if: ${{ success() }} id: get_workflow_token uses: peter-murray/workflow-application-token-action@v1 with: @@ -51,6 +68,9 @@ jobs: for r in $REVIEWERS ; do gh pr edit --repo ${ASTERISK_REPO} ${PR_NUMBER} --add-reviewer $r done + gh pr edit --repo ${{github.repository}} \ + --add-label ${{vars.TEST_CHECKS_PASSED_LABEL}} \ + ${{env.PR_NUMBER}} || : AsteriskGate: needs: AsteriskUnitTests @@ -85,20 +105,34 @@ jobs: - name: Check test matrix status env: RESULT: ${{ needs.AsteriskGate.result }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | echo "all results: ${{ toJSON(needs.*.result) }}" echo "composite result: ${{ needs.AsteriskGate.result }}" + gh pr edit --repo ${{github.repository}} \ + --remove-label ${{vars.TESTING_IN_PROGRESS}} \ + ${{env.PR_NUMBER}} || : + case $RESULT in success) + gh pr edit --repo ${{github.repository}} \ + --add-label ${{vars.TEST_GATES_PASSED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::notice::All Testsuite tests passed" exit 0 ;; skipped) + gh pr edit --repo ${{github.repository}} \ + --add-label ${{vars.TEST_CHECKS_FAILED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::error::Testsuite tests were skipped because of an earlier failure" exit 1 ;; - *) + *) + gh pr edit --repo ${{github.repository}} \ + --add-label ${{vars.TEST_GATES_FAILED_LABEL}} \ + ${{env.PR_NUMBER}} || : echo "::error::One or more Testsuite tests failed ($RESULT)" exit 1 esac