-
Notifications
You must be signed in to change notification settings - Fork 296
feat(release): celebrate community issue authors in release highlights #17842
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -356,6 +356,20 @@ steps: | |||||
| echo "✓ Fetched $PR_COUNT pull requests" | ||||||
| fi | ||||||
|
|
||||||
| # Fetch community-labeled issues | ||||||
| echo "Fetching issues with 'community' label..." | ||||||
| if ! gh issue list \ | ||||||
| --label "community" \ | ||||||
| --state all \ | ||||||
| --limit 500 \ | ||||||
| --json number,title,author,labels,closedAt,url \ | ||||||
| > /tmp/gh-aw/release-data/community_issues.json; then | ||||||
| echo "[]" > /tmp/gh-aw/release-data/community_issues.json | ||||||
| fi | ||||||
|
|
||||||
| COMMUNITY_COUNT=$(jq length "/tmp/gh-aw/release-data/community_issues.json") | ||||||
| echo "✓ Fetched $COMMUNITY_COUNT community-labeled issues" | ||||||
|
|
||||||
| # Get the CHANGELOG.md content around this version | ||||||
| if [ -f "CHANGELOG.md" ]; then | ||||||
| cp CHANGELOG.md /tmp/gh-aw/release-data/CHANGELOG.md | ||||||
|
|
@@ -379,6 +393,7 @@ Generate an engaging release highlights summary for **${{ github.repository }}** | |||||
| All data is pre-fetched in `/tmp/gh-aw/release-data/`: | ||||||
| - `current_release.json` - Release metadata (tag, name, dates, existing body) | ||||||
| - `pull_requests.json` - PRs merged between `${PREV_RELEASE_TAG}` and `${RELEASE_TAG}` (empty array if first release) | ||||||
| - `community_issues.json` - All issues labeled `community` (issue number, title, author, closedAt, url) | ||||||
| - `CHANGELOG.md` - Full changelog for context (if exists) | ||||||
| - `docs_files.txt` - Available documentation files for linking | ||||||
|
|
||||||
|
|
@@ -402,14 +417,31 @@ cat /tmp/gh-aw/release-data/current_release.json | jq | |||||
| # List PRs (empty if first release) | ||||||
| cat /tmp/gh-aw/release-data/pull_requests.json | jq -r '.[] | "- #\(.number): \(.title) by @\(.author.login)"' | ||||||
|
|
||||||
| # List community issues | ||||||
| cat /tmp/gh-aw/release-data/community_issues.json | jq -r '.[] | "- #\(.number): \(.title) by @\(.author.login)"' | ||||||
|
|
||||||
| # Check CHANGELOG context | ||||||
| head -100 /tmp/gh-aw/release-data/CHANGELOG.md 2>/dev/null || echo "No CHANGELOG" | ||||||
|
|
||||||
| # View available docs | ||||||
| cat /tmp/gh-aw/release-data/docs_files.txt | ||||||
| ``` | ||||||
|
|
||||||
| ### 2. Categorize & Prioritize | ||||||
| ### 2. Identify Community Contributions | ||||||
|
|
||||||
| Cross-reference `community_issues.json` with `pull_requests.json` to find which community issues are resolved in this release. | ||||||
|
|
||||||
| A community issue is considered resolved in this release if any PR in `pull_requests.json` references its number in the PR body (e.g., `Fixes #123`, `Closes #123`, `Resolves #123`). | ||||||
|
|
||||||
| ```bash | ||||||
| # Extract PR bodies and cross-reference with community issue numbers | ||||||
| cat /tmp/gh-aw/release-data/pull_requests.json | jq -r '.[].body // ""' | \ | ||||||
| grep -oP '(?i)(close[sd]?|fix(e[sd])?|resolve[sd]?)\s*#\K[0-9]+' | sort -u | ||||||
|
||||||
| grep -oP '(?i)(close[sd]?|fix(e[sd])?|resolve[sd]?)\s*#\K[0-9]+' | sort -u | |
| grep -oP '(?i)(close[sd]?|fix(e[sd])?|resolve[sd]?)\s*[:()\[\]-]*\s*#\K[0-9]+' | sort -u |
Copilot
AI
Feb 23, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section’s guidance is internally inconsistent: the template line suggests listing an issue title/number (implying one entry per issue), but the bracketed instruction says “One entry per community issue author” (implying deduping by author). Please clarify whether the output should be per issue, per author (with multiple issues grouped), or something else so the agent can follow it deterministically.
| [One entry per community issue author. Omit this section entirely if no community issues are resolved.] | |
| [One entry per resolved community-labeled issue. Omit this section entirely if no community issues are resolved.] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fallback when
gh issue listfails writes an empty JSON array but doesn't emit any warning/error, so a transient auth/API failure is indistinguishable from “0 community issues” and will silently suppress community recognition. Consider logging a warning (ideally to stderr) and/or capturing the failure reason before continuing.