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

[PROPOSAL] Standardize release notes generation script #4773

Open
Swiddis opened this issue Jun 13, 2024 · 4 comments
Open

[PROPOSAL] Standardize release notes generation script #4773

Swiddis opened this issue Jun 13, 2024 · 4 comments
Labels
enhancement New Enhancement

Comments

@Swiddis
Copy link
Contributor

Swiddis commented Jun 13, 2024

Is your feature request related to a problem? Please describe

Generating release notes has long been a pain point across teams. Searching through any of OpenSearch, OpenSearch-Dashboards, or opensearch-build for "automate release notes" turns up several issues on the topic. By some historical action addressing this problem, a release notes drafter action seems to have been added to most repos (I'm struggling to find a good source issue but opensearch-project/OpenSearch#789 seems related).

I don't know about everyone else, but I've long struggled to get this action to work correctly -- it seems tied up with the GH release process, and its commit range isn't explicitly selectable. As I've assembled release notes for several releases, I've long yearned for a tool where I can just say "Here's a commit range, go."

Describe the solution you'd like

Solving my own problem, I've made a tool that does exactly this: make_release.py. I've successfully used it to generate notes for three releases now on dashboards-observability, and it's seen adoption from other team members and other teams, as well.

I'd like to propose making this script more "standard", by introducing it in an official repository (here?). Doing so would make it more discoverable and trusted by other devs throughout the org, and I think make release note generation less painful overall, with less time spent fighting the release action (or making releases manually!). The script also has the benefit that, for backport PRs, it can trace most of them back to the original pre-backport PR and link that instead, which makes it easier to directly access a change's discussion and credit the appropriate devs for their work.

In my opinion, this seems more reliable long-term for making a fully automatic release notes process. An example would be by introducing it into automation that we can configure with more granularity, e.g. autocut PRs that update the notes live from merged PRs. (Although I recognize that this dream doesn't hold sufficient caution for the remains of the action that came before...)

Describe alternatives you've considered

Do nothing -- continue as we have. I'll continue advertising the script as a personal project for anyone who needs it. (I'll admit: this issue is itself a form of advertising this script.)

Additional context

Dblock's live-changelog proposal opensearch-project/OpenSearch#1868 is a good way to eliminate the problem at the source, but it's hard to get team buy-in when it's not already part of our PR culture (as the proposal itself getting blocked shows).

There's another proposal to formalize PR labels across the org, opensearch-project/.github#156, that we use in dashboards-observability and that the script is configured for. They also discuss automation, but it looks like the issue is still open and hasn't been updated since January.

It would be funny if I'm just missing something obvious and the release action works fine for everyone else.

@Swiddis Swiddis added enhancement New Enhancement untriaged Issues that have not yet been triaged labels Jun 13, 2024
@derek-ho
Copy link
Contributor

+1 Can we please make this into a opensearch-bot action that can raise a PR for all repos come release time automatically? This may also involve standardizing enforcing PR labels across the org.

@Swiddis
Copy link
Contributor Author

Swiddis commented Jun 13, 2024

This may also involve standardizing enforcing PR labels across the org.

Thanks for calling this out explicitly -- we use this already in our repos, and the script relies on this convention. I edited some more info into the "additional context" building on this and linking further discussion.

@peterzhuamazon
Copy link
Member

@gaiksaya
Copy link
Member

Hi @Swiddis Did you go through the automation in the above link https://github.com/opensearch-project/opensearch-plugins/blob/main/RELEASE_NOTES.md#automation
I believe multiple plugins are using it today. Can you go through it and see if this solves your problem?

@gaiksaya gaiksaya removed the untriaged Issues that have not yet been triaged label Jun 20, 2024
@getsaurabh02 getsaurabh02 moved this from 🆕 New to Later (6 months plus) in Engineering Effectiveness Board Jul 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New Enhancement
Projects
Status: 📦 Backlog
Development

No branches or pull requests

4 participants