fetch-depth: 100
- name: Check whether repo participates in Hacktoberfest
+ id: check
+ env:
+ GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: |
gh config set prompt disabled && echo "label=$(
gh repo view --json repositoryTopics --jq '.repositoryTopics[].name' | grep '^hacktoberfest$')" >> $GITHUB_OUTPUT
- id: check
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Search relevant commit message lines starting with Closes/Merges
+ if: steps.check.outputs.label == 'hacktoberfest'
env:
GITHUB_EVENT_BEFORE: '${{ github.event.before }}'
GITHUB_EVENT_AFTER: '${{ github.event.after }}'
run: |
git log --format=email "${GITHUB_EVENT_BEFORE}..${GITHUB_EVENT_AFTER}" | \
grep -Ei '^Close[sd]? ' | sort | uniq | tee log
- if: steps.check.outputs.label == 'hacktoberfest'
- name: Search for Number-based PR references
+ if: steps.check.outputs.label == 'hacktoberfest'
+ env:
+ GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: |
grep -Eo '#([0-9]+)' log | cut -d# -f2 | sort | uniq | xargs -t -n1 -I{} \
gh pr view {} --json number,createdAt \
--jq '{number, opened: .createdAt} | [.number, .opened] | join(":")' | tee /dev/stderr | \
grep -Eo '^([0-9]+):[0-9]{4}-(09-30T|10-|11-01T)' | cut -d: -f1 | sort | uniq | xargs -t -n1 -I {} \
gh pr edit {} --add-label 'hacktoberfest-accepted'
- if: steps.check.outputs.label == 'hacktoberfest'
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Search for URL-based PR references
+ if: steps.check.outputs.label == 'hacktoberfest'
+ env:
+ GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: |
grep -Eo 'github.com/(.+)/(.+)/pull/([0-9]+)' log | sort | uniq | xargs -t -n1 -I{} \
gh pr view 'https://{}' --json number,createdAt \
--jq '{number, opened: .createdAt} | [.number, .opened] | join(":")' | tee /dev/stderr | \
grep -Eo '^([0-9]+):[0-9]{4}-(09-30T|10-|11-01T)' | cut -d: -f1 | sort | uniq | xargs -t -n1 -I {} \
gh pr edit {} --add-label 'hacktoberfest-accepted'
- if: steps.check.outputs.label == 'hacktoberfest'
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}