-
Notifications
You must be signed in to change notification settings - Fork 70
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
Request for Proposals: Changelog and release note process #148
Comments
I had a few questions around the goals here:
|
I feel pretty strongly that CHANGELOG should be updated with the changes being made and have a link to the PR that contains the change. I think it's OK if it's automated enough that it happens "quickly enough", e.g. same day, but it must always happen. |
@dblock and what about changes that go into multiple releases? e.g. 1.3 and 2.x, do we have multiple entries in the changelog for the change? |
CHANGELOGs are diffs with their previous release. So for diverging branches such as 1.3.10 and 2.7.0 right now we effectively ship a fix in both for the first time. On each of these two branches we would keep an unreleased section in the CHANGELOG, and when we backport a fix into that branch, the unreleased changelog gets it. When we release, you should be reading in release notes of 1.3.10 and in the release notes of 2.7.0 about the fix. It won't appear again in any of the subsequent versions such as 1.3.11 (it was already in 1.3.10) or 2.8.0 (it was already in 2.7.0) or 3.0 (it was already in a 2.7.0 release). |
There is no data to prove other repo facing the challenge OS and OSD repo has today on changelog. We should not introduce this to other repo to add additional engineering overhead. It is suggested to change the scope to limit to OS/OSD repo only. It looks more like look for brainstorm about solution other than provide options. Maybe i missed or didn't get it.
could we list actionable options and provide data to prove like before after how process/productivity has been improve? |
I have setup a simple example to demonstrate the idea of changesets, the tool may not exactly fit for OpenSearch development, but the philosophy of CHANGELOG management it introduced could be insightful. The workflow has two steps: STEP 1: Add a changeset, this is normally added in a PR when the changes are still fresh in the author's mind
An example PR can be found here: https://github.com/ruanyl/OpenSearch-Dashboards/pull/2/files#diff-ec60e1e3b0c0317311062aed2aa6885e9cadd255da88d212eb4bcb9882465e50 It's a markdown file which is part of the PR and it can be reviewed and commented by the reviewer just like any other source code files. STEP 2: The base branch may contain multiple changeset entries merged from different PRs during the development. They will be consumed at the time when making a release. All changeset entries will be merged into the CHANGELOG and then deleted. Since changeset entries are just individual files with unique name, back-port PRs will not result in conflicts. The tool( But again, |
@seraphjiang valid point, i dont know if any other repo who is facing this problem, but i also dont have any idea if they dont or how successful they are at meeting the goals of the changelog working group. The goal of this process is not only to improve the process but also ensure accuracy, something thats a lot harder to pin down with our current backport process. Given that we havent settled on a proposal yet, i wouldnt start the discussion on whether it needs to be opt in or mandatory just yet. IMO, as long as each repo is able to successfully meet the changelog goals, it does not matter what process they have set in place. But what i'm not so sure of just yet if if they actually meet it (especially the accuracy bit).
Not sure what you mean by the but the issue asks for proposals for the changelog process that meet all the goals defined in the issue that are within scope. These are the goals agreed upon by everyone present in the working group after weeks of discussion. |
After reviewing all the proposals listed here, in the working group meeting on 5/4/2023, we unanimously voted to move forward with #156 (the "2.2.2 Automation" variation specifically). Next steps will be tracked on that issue. |
This is a request for proposals for processes and tools that make it easier for the OpenSearch community to understand changes to our repositories, both at release time, and in between releases. The objectives, tenants, and goals provided here will be used as our criteria for evaluating the different proposals.
Objective
The objective is to solve the entire collection of issues around generating both ongoing CHANGELOGs, and release notes during GA of the product, for all OpenSearch project repositories.
Tenets
[1] Users are defined as operators/administrators, developers integrating with SDKs, and end-users interacting with UIs or REST APIs.
Goals
Scope
Proposal Process
The text was updated successfully, but these errors were encountered: