49 lines
1.6 KiB
YAML
49 lines
1.6 KiB
YAML
name: "Set issue labels based on status"
|
|
description: "Sets / removes issue labels based on CI job status"
|
|
inputs:
|
|
token:
|
|
required: true
|
|
description: "The Github API token to use"
|
|
issue-number:
|
|
required: true
|
|
description: "The issue to label"
|
|
prefix:
|
|
required: true
|
|
description: "The label prefix (e.g. lint, install)"
|
|
job-status:
|
|
required: true
|
|
description: "The status of the CI job"
|
|
remove-on-skipped:
|
|
required: false
|
|
default: false
|
|
description: "Remove the label if the job was skipped"
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Label success
|
|
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1.0.4
|
|
if: ${{ inputs.job-status == 'success' }}
|
|
with:
|
|
repo-token: ${{ inputs.token }}
|
|
issue-number: ${{ inputs.issue-number }}
|
|
add-labels: "${{ inputs.prefix }}:ok"
|
|
remove-labels: "${{ inputs.prefix }}:failed"
|
|
|
|
- name: Label failure
|
|
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1.0.4
|
|
if: ${{ inputs.job-status == 'failure' }}
|
|
with:
|
|
repo-token: ${{ inputs.token }}
|
|
issue-number: ${{ inputs.issue-number }}
|
|
add-labels: "${{ inputs.prefix }}:failed"
|
|
remove-labels: "${{ inputs.prefix }}:ok"
|
|
|
|
- name: Remove label
|
|
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1.0.4
|
|
if: ${{ (inputs.job-status == 'skipped') && (inputs.remove-on-skipped == 'true') }}
|
|
with:
|
|
repo-token: ${{ inputs.token }}
|
|
issue-number: ${{ inputs.issue-number }}
|
|
remove-labels: "${{ inputs.prefix }}:ok, ${{ inputs.prefix }}:failed"
|