This repository is a reusable GitHub Actions setup for programs like Evangelists (or any contributor program) where:
- A candidate opens a PR to add their details.
- A welcome/review workflow posts follow-up questions and tags reviewers.
- After the PR is merged, an acceptance email is sent automatically.
- A certificate is generated and attached to that email.
It is inspired by the AOSSIE Evangelists process: https://github.com/AOSSIE-Org/Info/blob/main/Roles/Evangelists.md
- Trigger:
pull_request_targeton PR open - Path filter:
Evangelists.md - Actions:
- Posts onboarding questions on the PR
- Mentions reviewers from
.github/evangelist-reviewer - Adds label
evangelist-application - Assigns the PR author
- Trigger:
- PR closed (runs only if merged +
evangelist-applicationlabel is present), or - Manual
workflow_dispatchfor testing
- PR closed (runs only if merged +
- Actions:
- Parses applicant details
- Generates certificate via
.github/scripts/generate_certificate.py - Sends acceptance email with certificate attachment
- Clone this repository.
- Rename terms for your organization/program:
- Replace
AOSSIEwith your org name. - Replace
Evangelistswith your program name. - Replace
.github/evangelist-reviewerentries with your reviewer usernames.
- Replace
- Configure repository secrets:
AOSSIE_MAIL_USERNAMEAOSSIE_MAIL_PASSWORDAOSSIE_ADMIN_BCC_EMAIL(optional but recommended)
- Ensure applicants include an email in their PR body (required by acceptance mail workflow).
- Test via
workflow_dispatchonevangelist-acceptance-email.yml.
You can keep the same secret names or rename them and update the workflow accordingly.
See .env.example for local placeholder values matching required secrets.
Detailed setup notes are available at:
docs/customization.md
Evangelists.mdis the list file currently watched by the welcome workflow.generate_certificate.pycan use.github/certificate-template.pngif provided, otherwise it renders a default design.- You can add more workflows (e.g., reminder emails, rejection emails, reviewer SLA checks) based on your process.