feat(gateway): add configurable STT transcription echo #15863
Workflow file for this run
This file contains hidden or 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: Contributor Attribution Check | |
| on: | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| # Only run when code files change (not docs-only PRs) | |
| - '*.py' | |
| - '**/*.py' | |
| - '.github/workflows/contributor-check.yml' | |
| permissions: | |
| contents: read | |
| jobs: | |
| check-attribution: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| fetch-depth: 0 # Full history needed for git log | |
| - name: Check for unmapped contributor emails | |
| run: | | |
| # Get the merge base between this PR and main | |
| MERGE_BASE=$(git merge-base origin/main HEAD) | |
| # Find any new author emails in this PR's commits | |
| NEW_EMAILS=$(git log ${MERGE_BASE}..HEAD --format='%ae' --no-merges | sort -u) | |
| if [ -z "$NEW_EMAILS" ]; then | |
| echo "No new commits to check." | |
| exit 0 | |
| fi | |
| # Check each email against AUTHOR_MAP in release.py | |
| MISSING="" | |
| while IFS= read -r email; do | |
| # Skip teknium and bot emails | |
| case "$email" in | |
| *teknium*|*[email protected]*|*dependabot*|*github-actions*|*anthropic.com*|*cursor.com*) | |
| continue ;; | |
| esac | |
| # Check if email is in AUTHOR_MAP (either as a key or matches noreply pattern) | |
| if echo "$email" | grep -qP '\+.*@users\.noreply\.github\.com'; then | |
| continue # GitHub noreply emails auto-resolve | |
| fi | |
| if ! grep -qF "\"${email}\"" scripts/release.py 2>/dev/null; then | |
| AUTHOR=$(git log --author="$email" --format='%an' -1) | |
| MISSING="${MISSING}\n ${email} (${AUTHOR})" | |
| fi | |
| done <<< "$NEW_EMAILS" | |
| if [ -n "$MISSING" ]; then | |
| echo "" | |
| echo "⚠️ New contributor email(s) not in AUTHOR_MAP:" | |
| echo -e "$MISSING" | |
| echo "" | |
| echo "Please add mappings to scripts/release.py AUTHOR_MAP:" | |
| echo -e "$MISSING" | while read -r line; do | |
| email=$(echo "$line" | sed 's/^ *//' | cut -d' ' -f1) | |
| [ -z "$email" ] && continue | |
| echo " \"${email}\": \"<github-username>\"," | |
| done | |
| echo "" | |
| echo "To find the GitHub username for an email:" | |
| echo " gh api 'search/users?q=EMAIL+in:email' --jq '.items[0].login'" | |
| exit 1 | |
| else | |
| echo "✅ All contributor emails are mapped in AUTHOR_MAP." | |
| fi |