charts/.github/workflows/metadata-label-pr-ci-status.yaml
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs 1fdcfebbcb
ci: Debug
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
2021-07-24 14:22:58 +02:00

152 lines
5.2 KiB
YAML

---
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"