Skip to content
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

"tools/changelog-helper.sh group-entries" grouping improvement suggestions #3319

Open
pljones opened this issue Jul 28, 2024 · 3 comments · May be fixed by #3459
Open

"tools/changelog-helper.sh group-entries" grouping improvement suggestions #3319

pljones opened this issue Jul 28, 2024 · 3 comments · May be fixed by #3459
Labels
feature request Feature request release process Changes to the release process

Comments

@pljones
Copy link
Collaborator

pljones commented Jul 28, 2024

What is the current behaviour and why should it be changed?

The current sorting method means "Client:" and "Client/Server:" tagged entries can be mixed:

+- Client: Added "delete server" button to connect dialog (#3159).
+  (contributed by @pljones)
+
+- Client/Server: Display Qt versions for both build and runtime (#3231).
+  (contributed by @softins)
+
+- Client: Added "Delete Entry" button to Advanced Settings, Custom Directories (#3260).
+  (contributed by @AdamGLIN)

Ideally the grouping would keep all "Client:" entries together, all "Client/Server:" entries together (following "Client:") and all "Server:" entries together (following any "Client/Server:" entries).

Currently, each PR for Weblate gets a separate entry. Grouping should merge "Translations updated from Hosted Weblate" by "@weblate" into a single entry listing all the PR numbers

Currently, "Build:" entry sorting isn't done and grouping could be improved. For example:

+- Build: Updated bundled Qt6 to version 6.6.0 (#3182).
+  (contributed by @app/github-actions)
+
+- Build: Ensure apt version >=2.4 to prove that the system is Debian based (using apt and dpkg) and can validate the repo (#3199).
+  (contributed by @houbsta)
+
+- Build: Updated bundled Qt6 to version 6.6.1 (#3204).
+  (contributed by @app/github-actions)

It would be nice if there was a single "Build: Updated bundled Qt6" entry with "- versions 6.6.0, 6.6.1, 6.6.3" by "@app/github-actions".

Sorting and grouping all the "@app/github-actions" and "@app/dependabot" updates together like this would condense the change log significantly (reducing manual editing).

@pljones pljones added the feature request Feature request label Jul 28, 2024
@pljones pljones added this to the Release 3.12.0 milestone Jul 28, 2024
@pljones pljones added this to Tracking Jul 28, 2024
@github-project-automation github-project-automation bot moved this to Triage in Tracking Jul 28, 2024
@pljones pljones mentioned this issue Jul 28, 2024
60 tasks
@pljones pljones moved this from Triage to Backlog in Tracking Jul 28, 2024
@pljones pljones added refactoring Non-behavioural changes, Code cleanup release process Changes to the release process and removed refactoring Non-behavioural changes, Code cleanup labels Sep 22, 2024
@pljones
Copy link
Collaborator Author

pljones commented Dec 25, 2024

@softins is this something you could look at?

@softins
Copy link
Member

softins commented Dec 30, 2024

All this processing is currently done using bash shell and sed, primarily. Some of the suggestions are fairly easy to do, others are rather complex without completely rewriting the processing in something like Perl (in which I am competent) or Python (in which I'm a relative novice).

The current sorting method means "Client:" and "Client/Server:" tagged entries can be mixed:

+- Client: Added "delete server" button to connect dialog (#3159).
+  (contributed by @pljones)
+
+- Client/Server: Display Qt versions for both build and runtime (#3231).
+  (contributed by @softins)
+
+- Client: Added "Delete Entry" button to Advanced Settings, Custom Directories (#3260).
+  (contributed by @AdamGLIN)

Ideally the grouping would keep all "Client:" entries together, all "Client/Server:" entries together (following "Client:") and all "Server:" entries together (following any "Client/Server:" entries).

This I have done quite easily by adding a suitable entry to the list of categories.

Currently, each PR for Weblate gets a separate entry. Grouping should merge "Translations updated from Hosted Weblate" by "@weblate" into a single entry listing all the PR numbers

I have added another entry to the categories, to collect all these entries together, but they are still individual. Merging them is too complex to do with bash and sed.

Currently, "Build:" entry sorting isn't done and grouping could be improved. For example:

+- Build: Updated bundled Qt6 to version 6.6.0 (#3182).
+  (contributed by @app/github-actions)
+
+- Build: Ensure apt version >=2.4 to prove that the system is Debian based (using apt and dpkg) and can validate the repo (#3199).
+  (contributed by @houbsta)
+
+- Build: Updated bundled Qt6 to version 6.6.1 (#3204).
+  (contributed by @app/github-actions)

It would be nice if there was a single "Build: Updated bundled Qt6" entry with "- versions 6.6.0, 6.6.1, 6.6.3" by "@app/github-actions".

Again, I've added category to collect these together, but merging them is a lot more complex without a rewrite. Currently there is only one such entry since 3.11.0.

Sorting and grouping all the "@app/github-actions" and "@app/dependabot" updates together like this would condense the change log significantly (reducing manual editing).

Sorting is currently done by initial string after the leading -. Sorting by contributor would again need a rewrite.

@softins softins linked a pull request Dec 31, 2024 that will close this issue
5 tasks
@pljones
Copy link
Collaborator Author

pljones commented Jan 1, 2025

The grouping will make manual post-processing much easier, anyway!

@pljones pljones linked a pull request Jan 1, 2025 that will close this issue
5 tasks
@pljones pljones moved this from Backlog to In Progress in Tracking Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Feature request release process Changes to the release process
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

2 participants