--- name: "Metadata: Label pull requests CI status" on: 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 }} 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 }} 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 # # # 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: "lint: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: "lint: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: "lint: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: "lint:ok"