You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.9 KiB
64 lines
1.9 KiB
# |
|
# This workflow adds a label to the issue involved on event when is pinned |
|
# and removes it when unpinned. |
|
# |
|
# It also is enhanced with `stale.yml` workflow: pinned issues never stales |
|
# because that label is declared as part of it `exempt-issue-labels` |
|
# input parameter. |
|
# |
|
name: Issues pinner management |
|
|
|
on: |
|
issues: |
|
types: |
|
- "pinned" |
|
- "unpinned" |
|
|
|
permissions: |
|
# no checkouts/branching needed |
|
contents: none |
|
# needed by "action-add-labels / action-remove-labels" to CRUD labels |
|
issues: write |
|
|
|
# This allows a subsequently queued workflow run to interrupt/wait for previous runs |
|
concurrency: |
|
group: '${{ github.workflow }} @ ${{ github.event.issue.number || github.run_id }}' |
|
cancel-in-progress: false # true: interrupt, false = wait for |
|
|
|
jobs: |
|
|
|
labeler: |
|
name: Pushpin labeler |
|
runs-on: ubuntu-latest |
|
steps: |
|
|
|
- name: Add pushpin label on pinning an issue |
|
id: if-pinned |
|
if: github.event.action == 'pinned' |
|
uses: actions-ecosystem/action-add-labels@v1 |
|
with: |
|
repo: ${{ github.repository }} |
|
number: ${{ github.event.issue.number }} |
|
labels: | |
|
:pushpin: pinned |
|
|
|
- name: Remove pushpin label on unpinning an issue |
|
id: if-unpinned |
|
if: github.event.action == 'unpinned' |
|
uses: actions-ecosystem/action-remove-labels@v1 |
|
with: |
|
repo: ${{ github.repository }} |
|
number: ${{ github.event.issue.number }} |
|
labels: | |
|
:pushpin: pinned |
|
|
|
- name: GitHub reporter |
|
# run even previous steps fails |
|
if: always() |
|
run: | |
|
echo "$INPUT_SUMMARY" >> $GITHUB_STEP_SUMMARY; |
|
env: |
|
INPUT_SUMMARY: ${{ format('Issue [\#{2}]({0}/{1}/issues/{2}) should be `{3}`.', |
|
github.server_url, github.repository, |
|
github.event.issue.number, |
|
github.event.action) }}
|
|
|