> As you mentioned, ideally, we'd complete classification at merge time, not at release time. We could probably use our GitHub bot to help ensure this classification is completed before merging.
+1 Thanks, Penghui On Wed, Mar 9, 2022 at 4:06 AM Michael Marshall <mmarsh...@apache.org> wrote: > Hi Penghui, > > I just started doing something similar for the 2.8.3 release > notes. I think a script is a good place to start for creating release > notes, but I also think the notes will still need to be revised by a > human. I agree with Jonathan's point that a commit log is too detailed > for release notes, even if the commits are perfectly named. > > > 1. The title of the PR should be refined during the PR review, before > > merging it. > > After reading through some of the commits for the 2.8.3 release, I > agree that we should try to make sure commit names describe the PR's > final effect, even if we don't include every PR name in the release > notes. > > > 4. Add the component/ tag before merging the PR > > I agree that we can use the `component/` labels to simplify grouping > of PRs. I used the following command to find and open PRs without the > `component/` label: > > gh pr list --limit 200 --label "release/2.8.3" --state merged --json > url,labels | jq -c '.[] | select(.labels | any(.name | > startswith("component"))| not) | .url' | xargs -I{} open {} > > As you mentioned, ideally, we'd complete classification at merge time, > not at release time. We could probably use our GitHub bot to help > ensure this classification is completed before merging. > > Here is my current script to generate a grouped list of PR titles. It > is a work in progress, and it skips PRs without the `component/` > label. > > gh pr list --limit 200 --label "release/2.8.3" --state merged --json > labels | jq -c '.[].labels[].name | select(startswith("component"))' | > sort -u | xargs -I{} -t gh pr list --limit 200 --label "release/2.8.3" > --state merged --label {} --json title,number | jq -r '.[] | > [.title,.number] |@tsv' > > Thanks, > Michael > > > On Tue, Mar 8, 2022 at 3:21 AM Yu <li...@apache.org> wrote: > > > > Hi penghui, > > > > > > > 1. The title of the PR should be refined during the PR review, before > > merging it. > > For this item, I'll define the writing rules for PR titles and send them > > out for review. > > > > > > On Tue, Mar 8, 2022 at 10:00 AM PengHui Li <peng...@apache.org> wrote: > > > > > For 2.10.0 release, I'm using `gh` command to generate the release > note. > > > > > > For example > > > > > > ``` > > > gh pr list -L 1000 --search "is:pr milestone:2.10.0 is:merged > > > -label:release/2.9.1 -label:release/2.9.2 " --json title,number,url | > jq -r > > > '.[] | "\(.title) [\(.number)](\(.url))"' | grep -v "website" | grep > -v > > > "doc" | grep -v "Documentation" > > > ``` > > > > > > I noticed that we need to address couple issues > > > > > > 1. The title of the PR should be refined during the PR review, before > > > merging it. > > > 2. Add the milestone and release/xxx tag(if needed) before merging the > PR > > > 3. For merging the PR, the committer need to check the merge > information > > > carefully, Github will use the first commit message > > > as the merge commit message, sometime it's not a meaningful message > > > 4. Add the component/ tag before merging the PR > > > > > > So that we can generate the release note automatically according to the > > > component tag. > > > > > > Thanks, > > > Penghui > > > > > > On Wed, Dec 8, 2021 at 9:33 AM Li Li <l...@streamnative.io.invalid> > wrote: > > > > > > > +1 > > > > > > > > > > > > > On Dec 3, 2021, at 7:49 PM, Anonymitaet _ < > anonymita...@hotmail.com> > > > > wrote: > > > > > > > > > > Hi Pulsarers, > > > > > > > > > > Thanks for your suggestions. > > > > > > > > > > I think we need to make consensus on the following issues: > > > > > > > > > > #1 > > > > > What should be included in the RN (release note)? > > > > > > > > > > Only include major changes (important features/enhancements/bug > fixes) > > > > in list form rather than a raw dump of PRs. > > > > > > > > > > Reason: > > > > > > > > > > - The target audience is Pulsar developers and users, who usually > skim > > > > RN to look for features that matter to them, so it is necessary to > have > > > > this place for easier search. > > > > > > > > > > - For each release, to help users know the highlights in a quicker > way, > > > > usually we write tech blogs [1] to explain more details (e.g. What > has > > > > changed?, Why has it changed?, How is the user impacted?, What does > the > > > > user need to do now?), so RN can be a "simple list" of what we have > > > > achieved. > > > > > > > > > > - Users can get changelogs on GitHub if they want to know every > change > > > > of a release. > > > > > > > > > > #2 > > > > > How to create a quality RN efficiently? > > > > > > > > > > If RN is regarded as an afterthought and finished as a last-minute > > > task, > > > > it is likely not written well. Instead of rushing, treating RN as a > part > > > of > > > > development reduces release manager's workload and makes > communication > > > more > > > > coordinated. Consequently, **the process of the current workflow can > be > > > > improved**: > > > > > > > > > > 2.a. > > > > > Create guidelines/standards for writing a qualified PR title (and > > > > description) and git commit message. > > > > > →This really matters for release manager to know the changes and > cut a > > > > release. > > > > > > > > > > 2.b. > > > > > Give PR with corresponding labels . > > > > > e.g. `release/note-required`, labels related to PR changes (such as > > > > `component/functions`, `component/java-client`) > > > > > →So that automatic tools knows contain which PR and assign the PR > to > > > the > > > > correct chapter in RN. > > > > > > > > > > 2.c. > > > > > Create templates for RN. > > > > > > > > > > 2.d. > > > > > Find tools to generate RN automatically based on qualified PR > title, PR > > > > labels, and RN template. > > > > > > > > > > In this case, if each PR information is provided in a consistent > and > > > > clear way, RN can be automatically generated in a quick manner. Also > it > > > > saves release manager's life. > > > > > > > > > > [1] Tech blog example: > > > > https://pulsar.apache.org/blog/2021/09/23/Apache-Pulsar-2-8-1/ > > > > > > > > > >>>>>>>>>>>>>>> > > > > > > > > > > On 2021/12/3, 12:04, "Yunze Xu" <y...@streamnative.io.INVALID> > wrote: > > > > > > > > > > First I agree with Jonathan that we should perform some changes > with > > > > > the original PR descriptions. > > > > > > > > > > Then, classifying these PRs is also necessary, otherwise the > release > > > > notes > > > > > would be meaningless. There are a lot of PRs that should be > > > classfied > > > > in > > > > > Misc part of https://github.com/apache/pulsar/pull/12425 < > > > > https://github.com/apache/pulsar/pull/12425> and I also gave > > > > > some comments in the PR. > > > > > > > > > > IMO, it’s okay to ignore the PRs that only fix some typos or fix > > > some > > > > flaky tests. > > > > > But I found many PRs in Misc part should also be noted. > > > > > > > > > > We should not sacrifice the release quality for a new release > like > > > > 2.9.1. > > > > > > > > > >> 2021年12月2日 下午7:11,Enrico Olivelli <eolive...@gmail.com> 写道: > > > > >> > > > > >> Hello community, > > > > >> > > > > >> There is an open discussion on the Pulsar 2.9.0 release notes PR: > > > > >> https://github.com/apache/pulsar/pull/12425 > > > > >> > > > > >> I have created the block of release notes by downloading the list > of > > > PR > > > > >> using some GitHub API. > > > > >> Then I have manually classified: > > > > >> - News and Noteworthy: cool things in the Release > > > > >> - Breaking Changes: things you MUST know when you upgrade > > > > >> - Java Client, C++ Client, Python Client, Functions/Pulsar IO > > > > >> > > > > >> The goal is to provide useful information for people who want to > > > upgrade > > > > >> Pulsar. > > > > >> > > > > >> My problems are: > > > > >> - PR titles are often badly written, but I don't want to fix all > of > > > them > > > > >> (typos, tenses of verbs, formatting) > > > > >> - There are more than 300 PRs, I don't want to classify them > > > manually, I > > > > >> just highlighted the most important from my point of view > > > > >> > > > > >> If for 2.9.0 we still keep a list of PR, then I believe that the > > > current > > > > >> status of the patch is good. > > > > >> > > > > >> If we want to do it another way, then I am now asking if there is > > > > someone > > > > >> who can volunteer in fixing and classifying the list of 300 PRs, > it > > > is a > > > > >> huge task. > > > > >> > > > > >> There is already much more work to do to get 2.9.0 completely > released > > > > (and > > > > >> also PulsarAdapters) and we have to cut 2.9.1 as soon as possible > due > > > > to a > > > > >> bad regression found in 2.9.0. > > > > >> > > > > >> Thanks > > > > >> Enrico > > > > > > > > > > > > > > > > > > > > > > > > > > >