2024-09-26 15:31:35 +00:00
name : CLA Signed
on :
pull_request_target :
types :
- opened
- closed
paths :
- 'licenses/cla-individual.md'
env :
GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
GH_REPO : ${{ github.repository }}
NUMBER : ${{ github.event.pull_request.number }}
AUTHOR : ${{ github.event.pull_request.user.login }}
jobs :
# check if PRs updating the CLA are targetting the tiddlywiki-com branch
check-signature-branch :
if : (github.event.pull_request.merged != true) && (github.event.pull_request.user.login != github.repository_owner)
runs-on : ubuntu-latest
permissions :
pull-requests : write
steps :
- run : |
2024-09-30 07:46:54 +00:00
if [[ "$BRANCH" != "tiddlywiki-com" ]]; then
echo "This CLA signature targets the wrong branch: $BRANCH"
2024-09-26 15:31:35 +00:00
gh pr comment "$NUMBER" -b "@$AUTHOR Signatures to the CLA must target the 'tiddlywiki-com' branch."
fi
env :
BRANCH : ${{ github.event.pull_request.base.ref }}
# leave a comment on each open PR by a given author when their signature is added to the CLA
cla-signed :
if : (github.event.pull_request.merged == true) && (github.event.pull_request.user.login != github.repository_owner)
runs-on : ubuntu-latest
permissions :
pull-requests : write
steps :
- name : List open PRs by user
id : list-prs
uses : actions/github-script@v6
with :
result-encoding : string
script : |
const owner = context.repo.owner,
repo = context.repo.repo,
author = context.payload.pull_request.user.login;
const { data: pullRequests } = await github.rest.pulls.list({
owner : owner,
repo : repo,
state : 'open' ,
sort : 'created' ,
direction : 'desc' ,
per_page : 100
});
const userPullRequests = pullRequests.filter(pr => pr.user.login === author),
prNumbers = userPullRequests.map(pr => pr.number).join(',');
console.log(`Open pull requests by ${author}:${prNumbers}`);
return prNumbers;
- name : Comment open PRs by the same author
run : |
prs=($(echo ${{ steps.list-prs.outputs.result }} | tr "," "\n"))
for number in "${prs[@]}"
do
gh pr comment "$number" -b "**$AUTHOR** has signed the Contributor License Agreement (see [contributing.md](https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/contributing.md))"
done