[
https://issues.apache.org/jira/browse/THRIFT-6077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18093733#comment-18093733
]
Jens Geyer commented on THRIFT-6077:
------------------------------------
PR: https://github.com/apache/thrift/pull/3622
> improve CHANGES.md generator section assignment
> -----------------------------------------------
>
> Key: THRIFT-6077
> URL: https://issues.apache.org/jira/browse/THRIFT-6077
> Project: Thrift
> Issue Type: Improvement
> Components: Build Process
> Reporter: Jens Geyer
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> build/generate-changes.py filed several classes of entries under "(No
> Section)" in the generated CHANGES.md draft even though a usable signal was
> available:
> 1. dependabot and CI/workflow PRs whose only GitHub labels are
> github_actions, dependencies, testsuite or doc were unmapped and fell through
> to (No Section).
> 2. Rebase-merged PRs land several commits under one PR number. The PR->label
> write-back keyed a dict by PR number, so only one commit of such a PR
> received the fetched label section; the other commits fell through to (No
> Section), and a sibling commit's Client: trailer section could be overwritten.
> 3. JIRA tickets referenced by an in-range commit but carrying no component
> were filed under (No Section) even though the commit's Client: trailer named
> the correct section.
> Changes to build/generate-changes.py:
> - Map github_actions, dependencies, testsuite -> Build Process and doc ->
> Documentation.
> - Propagate a PR's labels to every section-less commit that shares the PR
> number, and stop clobbering commits that already carry a Client: trailer
> section.
> - Fall back to the commit Client: trailer when a JIRA ticket has no usable
> component.
> On the current master draft, items 1 and 2 reduce the (No Section) list from
> 28 entries to 3 (the remaining three carry neither a label nor a Client:
> trailer, e.g. CODEOWNERS edits). Item 3 (the Client: trailer fallback) does
> not change today's output because every referenced ticket currently has a
> JIRA component; it is a robustness change that prevents componentless tickets
> from landing in (No Section), as happened in earlier drafts.
> Where a PR carries both a CI label and a language label it is listed under
> both sections (deduplicated).
> Adds build/test_generate_changes.py with unit tests for the
> section-assignment helpers (no network access required). flake8 excludes
> build/ and Thrift's Python test suite lives under lib/py, so no CI job
> currently collects this module; it is intended to be run directly (python3 -m
> unittest build.test_generate_changes). No functional/library code is affected.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)