Fixes #5484: Multiple substitutions specified in non-positional format of st… #7
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: Celebrating Initial Contributions | |
on: | |
pull_request_target: | |
types: [closed] | |
permissions: | |
pull-requests: write | |
jobs: | |
comment_on_merged_pull_request: | |
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'develop' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set Environment Variables | |
env: | |
AUTHOR: ${{ github.event.pull_request.user.login }} | |
REPO: ${{ github.event.repository.name }} | |
OWNER: ${{ github.event.repository.owner.login }} | |
run: | | |
echo "AUTHOR=${AUTHOR}" >> $GITHUB_ENV | |
echo "REPO=${REPO}" >> $GITHUB_ENV | |
echo "OWNER=${OWNER}" >> $GITHUB_ENV | |
- name: Count Merged Pull Requests | |
id: count_merged_pull_requests | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const author = process.env.AUTHOR; | |
const repo = process.env.REPO; | |
const owner = process.env.OWNER; | |
const { data } = await github.rest.search.issuesAndPullRequests({ | |
q: `repo:${owner}/${repo} type:pr state:closed author:${author}` | |
}); | |
const prCount = data.items.filter(pr => pr.pull_request.merged_at).length; | |
core.exportVariable('PR_COUNT', prCount); | |
- name: Comment on the Merged Pull Request | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const prCount = parseInt(process.env.PR_COUNT); | |
const author = process.env.AUTHOR; | |
const mention = 'adhiamboperes'; | |
const prNumber = context.payload.pull_request.number; | |
let message; | |
if (prCount === 1) { | |
message = `✨ **Fantastic work @${author}!** Your very first PR to Oppia has been merged! 🎉🥳\n\n` + | |
`You've just taken your first step into open-source, and we couldn’t be happier to have you onboard. 🙌\n` + | |
`If you're feeling adventurous, why not dive into another issue and keep contributing? The community would love to see more from you! 🚀\n\n` + | |
`For any support, feel free to reach out to the developer onboarding lead: @${mention}. Happy coding! 👩💻👨💻`; | |
} else if (prCount === 2) { | |
message = `👏 **Well done @${author}!** Two PRs merged already! 🎉🥳\n\n` + | |
`With your second PR, you're on a roll, and your contributions are already making a difference. 🌟\n` + | |
`This means you may be eligible to join the Oppia dev team as a collaborator! 🎉 If you're interested, please fill out [this form](https://forms.gle/NxPjimCMqsSTNUgu5) and become an even more integral part of the community. 🌱\n\n` + | |
`Looking forward to seeing even more contributions from you. The developer onboarding lead: @${mention} is here if you need any help! Keep up the great work! 🚀`; | |
} | |
if (prCount === 1 || prCount === 2) { | |
await github.rest.issues.createComment({ | |
owner: process.env.OWNER, | |
repo: process.env.REPO, | |
issue_number: prNumber, | |
body: message | |
}); | |
} |