diff --git a/.github/workflows/metadata-label-pr-ci-status.yaml b/.github/workflows/metadata-label-pr-ci-status.yaml index 78a65c09..f88c0442 100644 --- a/.github/workflows/metadata-label-pr-ci-status.yaml +++ b/.github/workflows/metadata-label-pr-ci-status.yaml @@ -2,92 +2,120 @@ name: "Metadata: Label pull requests CI status" on: - check_suite: - # workflows: - # - "Pre-commit consistency check" - # - "Charts: Lint and test" - # types: - # - completed + workflows: + - "Pre-commit consistency check" + - "Charts: Lint and test" + types: + - completed jobs: get-info: name: "Get information about the source run" runs-on: ubuntu-20.04 - # outputs: - # pullRequestNumber: ${{ steps.source-run-info.outputs.pullRequestNumber }} + outputs: + pullRequestNumber: ${{ steps.source-run-info.outputs.pullRequestNumber }} steps: - # - name: "Get information about the origin 'CI' run" - # uses: potiuk/get-workflow-origin@v1_3 - # id: source-run-info - # with: - # token: ${{ secrets.GITHUB_TOKEN }} - # sourceRunId: ${{ github.event.workflow_run.id }} + - name: "Get information about the origin 'CI' run" + uses: potiuk/get-workflow-origin@v1_3 + id: source-run-info + with: + token: ${{ secrets.GITHUB_TOKEN }} + sourceRunId: ${{ github.event.workflow_run.id }} + + label-precommit: + name: Label pre-commit status + runs-on: ubuntu-20.04 + if: | + ${{ github.event.workflow.name == 'Pre-commit consistency check' }} + needs: + - get-info + steps: + - uses: getsentry/action-github-app-token@v1 + id: get-app-token + with: + app_id: ${{ secrets.K8S_AT_HOME_APP_ID }} + private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }} + + - name: "Pre-commit successful" + uses: actions/github-script@v4 + if: ${{ github.event.workflow_run.conclusion == 'success' }} + with: + github-token: ${{ steps.get-app-token.outputs.token }} + script: | + github.issues.addLabels({ + issue_number: context.needs.get-info.outputs.pullRequestNumber, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['precommit:ok'] + }) + github.issues.removeLabel({ + issue_number: context.needs.get-info.outputs.pullRequestNumber, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['precommit:failed'] + }) + result-encoding: string + + - name: "Pre-commit failed" + uses: actions/github-script@v4 + if: ${{ github.event.workflow_run.conclusion == 'failure' }} + with: + github-token: ${{ steps.get-app-token.outputs.token }} + script: | + github.issues.addLabels({ + issue_number: context.needs.get-info.outputs.pullRequestNumber, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['precommit:failed'] + }) + github.issues.removeLabel({ + issue_number: context.needs.get-info.outputs.pullRequestNumber, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['precommit:ok'] + }) + result-encoding: string + + label-lint-install: + name: Label lint and install status + runs-on: ubuntu-20.04 + if: | + ${{ github.event.workflow.name == 'Charts: Lint and tests' }} + needs: + - get-info + steps: + - uses: getsentry/action-github-app-token@v1 + id: get-app-token + with: + app_id: ${{ secrets.K8S_AT_HOME_APP_ID }} + private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }} + + - name: "Lint successful" + uses: actions/github-script@v4 + with: + github-token: ${{ steps.get-app-token.outputs.token }} + script: | + const wfJobs = github.actions.listJobsForWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.event.workflow_run.id, + }); + console.log(wfJobs) + # github.issues.addLabels({ + # issue_number: context.needs.get-info.outputs.pullRequestNumber, + # owner: context.repo.owner, + # repo: context.repo.repo, + # labels: ['lint:ok'] + # }) + # github.issues.removeLabel({ + # issue_number: context.needs.get-info.outputs.pullRequestNumber, + # owner: context.repo.owner, + # repo: context.repo.repo, + # labels: ['lint:failed'] + # }) - uses: hmarr/debug-action@v2 - # label-precommit: - # name: Label pre-commit status - # runs-on: ubuntu-20.04 - # if: ${{ github.event.workflow.name == 'Pre-commit consistency check' }} - # needs: - # - get-info - # steps: - # - uses: getsentry/action-github-app-token@v1 - # id: get-app-token - # with: - # app_id: ${{ secrets.K8S_AT_HOME_APP_ID }} - # private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }} - - # # CI Passed - # - name: "add label: ok" - # uses: actions-ecosystem/action-add-labels@v1 - # if: ${{ github.event.workflow_run.conclusion == 'success' }} - # with: - # github_token: ${{ steps.get-app-token.outputs.token }} - # number: ${{ needs.get-info.outputs.pullRequestNumber }} - # labels: "precommit:ok" - - # - name: "remove label: failed" - # uses: actions-ecosystem/action-remove-labels@v1 - # if: ${{ github.event.workflow_run.conclusion == 'success' }} - # with: - # github_token: ${{ steps.get-app-token.outputs.token }} - # number: ${{ needs.get-info.outputs.pullRequestNumber }} - # labels: "precommit:failed" - - # # CI Failed - # - name: "add label: failed" - # uses: actions-ecosystem/action-add-labels@v1 - # if: ${{ github.event.workflow_run.conclusion == 'failure' }} - # with: - # github_token: ${{ steps.get-app-token.outputs.token }} - # number: ${{ needs.get-info.outputs.pullRequestNumber }} - # labels: "precommit:failed" - - # - name: "remove label: ok" - # uses: actions-ecosystem/action-remove-labels@v1 - # if: ${{ github.event.workflow_run.conclusion == 'failure' }} - # with: - # github_token: ${{ steps.get-app-token.outputs.token }} - # number: ${{ needs.get-info.outputs.pullRequestNumber }} - # labels: "precommit:ok" - - # label-lint: - # name: Label lint status - # runs-on: ubuntu-20.04 - # if: | - # ${{ github.event.workflow.name == 'Charts: Lint and tests' }} - # needs: - # - get-info - # steps: - # - uses: getsentry/action-github-app-token@v1 - # id: get-app-token - # with: - # app_id: ${{ secrets.K8S_AT_HOME_APP_ID }} - # private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }} - - # - uses: hmarr/debug-action@v2 - # # # CI Passed # # - name: "add label: ok" # # uses: actions-ecosystem/action-add-labels@v1