Repository navigation
ci: thank external contributors on merge with share snippet (E5) - #1708
Merged
Merged
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… check Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…arch as not-first Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Deploying mcpproxy-docs with
|
| Latest commit: |
9509984
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://4eaf1bd2.mcpproxy-docs.pages.dev |
| Branch Preview URL: | https://claude-contributor-spotlight.mcpproxy-docs.pages.dev |
Dumbris
enabled auto-merge (squash)
October 20, 2026 16:38
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Experiment E5: when an external contributor's PR is merged, a bot posts one thank-you comment with an optional, copy-paste share snippet, and release notes credit external contributors.
.github/workflows/contributor-thanks.yml—pull_request_target: closed(merged only) +workflow_dispatchfor manual dry runs.scripts/contributors.sh—thanks <pr>andrelease <prev-tag> <ref>;scripts/test-contributors.sh— 26 offline checks.release.yml— new "Collect contributors" step; a## Contributorssection is appended after the LLM-written notes (deterministic, so a name is never dropped or invented). Existing tooling did not credit anyone: notes are LLM-summarised commit subjects, git-cliffCHANGELOG.mdhas no author section.CONTRIBUTING.md— short "Recognition" note.Skipped: author
Dumbris,algis-dumbris, any[bot]/Bot type, and association OWNER/MEMBER. Posted asgithub-actions[bot], never as Algis. Nothing is posted on the contributor's behalf.Comment wording — please approve (rendered for PR #1222, first-time author)
679 chars with the first-time line (~600 without); ASCII only. "next release" is used because the release isn't known at merge time. The PR title is sanitised (one line,
@neutralised, backticks/brackets/angle brackets stripped, 120 chars max).Release-notes section (example,
release v0.70.0 v0.71.1run read-only):Rollout — nothing posts until Algis flips it
Every run is a dry run (comment printed in the job log, nothing posted) until the repo variable
CONTRIBUTOR_THANKS_LIVEistrue:gh variable set CONTRIBUTOR_THANKS_LIVE --body true -R smart-mcp-proxy/mcpproxy-goManual dry run for any merged PR: Actions > Contributor Thanks > Run workflow (it only posts if the variable is
trueANDdry_runis unchecked).Security (
pull_request_target)Checks out only the default branch (
sparse-checkout: scripts/contributors.sh,persist-credentials: false); never PR head code. PR data comes via the API, is passed through env/quoted args only, never interpolated into shell.permissions: {}at top, job getscontents: read, pull-requests: write, issues: write. Per-PR concurrency group + marker check (bot-authored comments only) for idempotency.Testing
bash scripts/test-contributors.sh— 26/26 (eligibility, template, length < 900, no non-ASCII, hostile titles).release v0.70.0 v0.71.1produced the list above.actionlintclean oncontributor-thanks.yml;release.ymlhas the same pre-existing 53 findings before and after (none from the new step).shellcheck -xclean.yamllintnot installed.actnot installed. No comment was posted anywhere.Cross-model review (opencode
github-copilot/gpt-6.1-sol, high)github-actions[bot]comments count; (2) search-index lag/incomplete_resultscould mis-flag first-time → incomplete = not-first (residual race for two first-timer PRs merged within index lag documented and accepted).🤖 Generated with Claude Code