Improve milestone changelog: backport filtering, docs enrichment, cleanup - #16933
Conversation
…ment, and cleanup - Add files to docs gh pr list so Step 5f can match by changed file paths - Move backport extraction after batch computation so backport==true and date filtering happen in a single jq pass (avoids intermediate file) - Pipe change files through cat to avoid shell arg length limits on glob - Update Step 2 to concisely describe all pre-computed data files - Update Step 3/5f docs to match actual available fields - Remove Step 3 schema duplication (now references Step 2)
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 16933Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 16933" |
There was a problem hiding this comment.
Pull request overview
Updates the milestone-changelog GH-AW workflow documentation/script to improve changelog generation by adding backport-based exclusion, enriching PR data used by the agent, and simplifying the workflow instructions.
Changes:
- Adds optional
${PREVIOUS_MILESTONE}support and generatesbackport-prs.jsonfor filtering out PRs already shipped via backports. - Enriches product milestone batch PRs with
authorAssociation,files, andcommentsvia per-PR API calls. - Simplifies and corrects the workflow guide’s schema/tooling documentation (Step 2/3/5f).
…reliable pulls API The per-PR author_association from gh api repos//pulls/ is unreliable with GITHUB_TOKEN: org members (e.g., davidfowl) show as CONTRIBUTOR because the token lacks org-level read scope. Replace with repos//collaborators//permission which only requires metadata-read scope and reliably returns write/maintain/admin for team members.
…evious milestone data
|
🎬 CLI E2E Test Recordings — 78 recordings uploaded (commit View all recordings
📹 Recordings uploaded automatically from CI run #25659759630 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
✅ No documentation update needed. Internal CI/workflow-only changes — this PR improves the |
…anup (microsoft#16933) * Milestone changelog improvements * Improve milestone changelog workflow: backport filtering, docs enrichment, and cleanup - Add files to docs gh pr list so Step 5f can match by changed file paths - Move backport extraction after batch computation so backport==true and date filtering happen in a single jq pass (avoids intermediate file) - Pipe change files through cat to avoid shell arg length limits on glob - Update Step 2 to concisely describe all pre-computed data files - Update Step 3/5f docs to match actual available fields - Remove Step 3 schema duplication (now references Step 2) * compile * Fix authorAssociation: use per-user permission endpoint instead of unreliable pulls API The per-PR author_association from gh api repos//pulls/ is unreliable with GITHUB_TOKEN: org members (e.g., davidfowl) show as CONTRIBUTOR because the token lacks org-level read scope. Replace with repos//collaborators//permission which only requires metadata-read scope and reliably returns write/maintain/admin for team members. * Refactor backport filtering to inspect PR body/comments instead of previous milestone data * Guard against empty PREVIOUS_MILESTONE and empty author login in enrichment * Add owner field to changelog entries with mergedBy data * Move Owner line above Changes line in wiki format * Add RELEASE_NOTES_URL env and disclaimer after What's New section * Remove redundant auto-generated comment from footer * Fix stale RELEASE_NOTES_URL in Note line and add mergedBy to data descriptions * Promote Owner to its own Step 5c section, renumber 5c-5f to 5d-5g * Fix mergedBy description, dead schema reference, and null mergedBy fallback * Add batch-prs.json field schema table to Step 2 * Minor: fix docs batch description * Update * Remove Source column from batch-prs schema table
Description
Improves the
milestone-changeloggh-aw workflow with backport filtering, docs PR enrichment, and cleanup:filesto docsgh pr list— Step 5f needs changed file paths to match docs PRs to changelog entries. Previouslyfileswas missing from the docs query, causing the agent to fall through to diff reading on every docs PR. Sincegh pr listsupportsfilesnatively, this adds it with zero extra API calls.backport == trueandfirstMergedAt >= oldest batch datehappen in a singlejqpass. This eliminates the intermediate file, the secondjqpass, and the temp-file-then-mv pattern. The$MEMORY_TMPclone directory lifetime is extended slightly to support reading directly from it.jq -sglob expansion — Pipes change files throughcatbeforejq -sto avoid shell argument length limits when the previous milestone has many change files.jq.filesbut lackauthorAssociationandcomments.Checklist