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"