Update README.md #3
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Add Pull Request Labels and Assign to Project | |
on: | |
pull_request_target: | |
types: [opened, closed] | |
jobs: | |
triage: | |
runs-on: ubuntu-latest | |
if: github.event.action == 'opened' | |
steps: | |
- uses: ericcornelissen/labeler@label-based-on-status | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
assign-to-project: | |
runs-on: ubuntu-latest | |
name: Assign to Project | |
if: github.event.action == 'opened' | |
needs: triage | |
env: | |
MY_GITHUB_TOKEN: ${{ secrets.AUTO_ASSIGN_WORKFLOW_TOKEN }} | |
steps: | |
- id: get-labels | |
name: Get labels | |
run: | | |
labels="$(curl --retry 5 -s https://api.github.com/repos/simple-icons/simple-icons/pulls/${{ github.event.pull_request.number }} | jq '.labels[].name' | tr '\n' ',' | sed -e 's/"//g' -e 's/,$//')" | |
echo "labels=$labels" >> $GITHUB_OUTPUT | |
- id: get-si-members | |
name: Get simple-icons members | |
run: | | |
members="$(curl -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' --retry 5 -s https://api.github.com/orgs/simple-icons/members | jq .[].login | tr '\n' ',' | sed -e 's/"//g' -e 's/,$//')" | |
echo "members=$members" >> $GITHUB_OUTPUT | |
- id: get-linked-issues | |
name: Get linked issue numbers | |
uses: mondeja/pr-linked-issues-action@v2 | |
with: | |
# Lazy linked issues. If one of the lines of the pull request body | |
# matches one of the next contents, the matching issue number will | |
# be added to `issues` output: | |
add_links_by_content: | | |
**Issue:** #{issue_number} | |
**Issue**: #{issue_number} | |
**Close:** #{issue_number} | |
**Close**: #{issue_number} | |
**Closes:** #{issue_number} | |
**Closes**: #{issue_number} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- id: priority-1 | |
name: Assign `icon outdated` pull requests to "Priority 1" | |
uses: srggrs/assign-one-project-github-action@1.3.1 | |
if: contains(steps.get-labels.outputs.labels, 'icon outdated') | |
with: | |
project: https://github.com/orgs/simple-icons/projects/2 | |
column_name: Priority 1 | |
- id: priority-2 | |
name: Assign `new icon` pull requests to "Priority 2" | |
uses: srggrs/assign-one-project-github-action@1.3.1 | |
# the PR has the `new icon` label along with a linked issue and | |
# the opener is not a member of simple-icons organization | |
if: | | |
contains(steps.get-labels.outputs.labels, 'new icon') && | |
join(steps.get-linked-issues.outputs.issues) != '' && | |
contains(steps.get-si-members.outputs.members, github.event.pull_request.user.login) == false | |
with: | |
project: https://github.com/orgs/simple-icons/projects/2 | |
column_name: Priority 2 | |
- id: priority-3 | |
name: Assign `new icon` pull requests by maintainers to "Priority 3" | |
uses: srggrs/assign-one-project-github-action@1.3.1 | |
# the PR has the `new icon` label along with a linked issue and | |
# the opener is a member of the simple-icons organisation | |
if: | | |
contains(steps.get-labels.outputs.labels, 'new icon') && | |
join(steps.get-linked-issues.outputs.issues) != '' && | |
contains(steps.get-si-members.outputs.members, github.event.pull_request.user.login) == true | |
with: | |
project: https://github.com/orgs/simple-icons/projects/2 | |
column_name: Priority 3 | |
- id: priority-4 | |
name: Assign `new icon` pull requests by maintainers without an issue to "Priority 4" | |
uses: srggrs/assign-one-projtect-github-action@1.3.1 | |
# the PR has the `new icon` label but with no linked issue and | |
# the opener is a member of the simple-icons organisation | |
if: | | |
contains(steps.get-labels.outputs.labels, 'new icon') && | |
join(steps.get-linked-issues.outputs.issues) == '' && | |
contains(steps.get-si-members.outputs.members, github.event.pull_request.user.login) == true | |
with: | |
project: https://github.com/orgs/simple-icons/projects/2 | |
column_name: Priority 4 | |
- name: Assign pull requests to "Unprioritised" | |
uses: srggrs/assign-one-project-github-action@1.3.1 | |
if: | | |
steps.priority-1.conclusion == 'skipped' && | |
steps.priority-2.conclusion == 'skipped' && | |
steps.priority-3.conclusion == 'skipped' && | |
steps.priority-4.conclusion == 'skipped' | |
with: | |
project: https://github.com/orgs/simple-icons/projects/2 | |
column_name: Unprioritised | |
unassign-from-project: | |
runs-on: ubuntu-latest | |
name: Unassign from Project | |
if: | | |
github.event.action != 'opened' && | |
github.event.pull_request.merged == false | |
env: | |
MY_GITHUB_TOKEN: ${{ secrets.AUTO_ASSIGN_WORKFLOW_TOKEN }} | |
steps: | |
- name: Assign closed pull requests to "Completed or Abandoned" | |
uses: srggrs/assign-one-project-github-action@1.3.1 | |
with: | |
project: https://github.com/orgs/simple-icons/projects/2 | |
column_name: Completed or Abandoned |