Monthly Contributor Report (Twilio Samples) #2
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: Monthly Contributor Report (Twilio Samples) | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 1 * *' | |
jobs: | |
contributor_report: | |
name: Contributor Report (Twilio Samples) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get Dates for Last Month | |
shell: bash | |
run: | | |
# Calculate the first day of the previous month | |
start_date=$(date -d "last month" +%Y-%m-01) | |
# Calculate the last day of the previous month | |
end_date=$(date -d "$start_date +1 month -1 day" +%Y-%m-%d) | |
#Set an environment variable with the date range | |
echo "START_DATE=$start_date" >> "$GITHUB_ENV" | |
echo "END_DATE=$end_date" >> "$GITHUB_ENV" | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Run Contributor Action | |
uses: github/contributors@v1 | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
START_DATE: ${{ env.START_DATE }} | |
END_DATE: ${{ env.END_DATE }} | |
ORGANIZATION: twilio-samples | |
SPONSOR_INFO: "false" | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 'latest' | |
- name: Update npm | |
run: npm install -g npm | |
- name: Install dependencies | |
run: npm install | |
- name: Move generated contributors file to storage | |
run: npm run convert:contributors | |
- name: run create/update pull request | |
uses: gr2m/create-or-update-pull-request-action@v1 # Create a PR or update the Action's existing PR | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
body: > | |
Here's a monthly contributor report for the Twilio organization, | |
automatically generated with GitHub Actions. | |
branch: actions/contributors # Custom branch *just* for this Action. | |
commit-message: 'doc: generate contributor report for the Twilio organization' | |
title: 'doc: generate contributor report for the Twilio organization' | |
assignees: bnb # change to whoever you want to be assigned to this PR | |
auto-merge: squash |