You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2026/07/04 23:05:00 UTC

[jira] [Commented] (THRIFT-6077) improve CHANGES.md generator section assignment

    [ 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)