-
Notifications
You must be signed in to change notification settings - Fork 184
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
Release v1.1.0 rc1 #1010
Release v1.1.0 rc1 #1010
Conversation
Signed-off-by: Sajay Antony <[email protected]>
Signed-off-by: Sajay Antony <[email protected]>
One question on this: if this PR is merged, then a new commit will be added. We should tag the new commit for releasing. 32bfb87 will not be the target commit. |
ORAS applies the practice of linear commit history, which means a PR will always be merged via squashing or rebasing. This is different from how the version control is done in OCI image spec repo because when a PR is merged, the commit digest might be recalculated and changed. So, in ORAS CLI repo we cannot use PR voting facilities to vote for releasing. |
@@ -17,7 +17,7 @@ package version | |||
|
|||
var ( | |||
// Version is the current version of the oras. | |||
Version = "1.1.0-rc.1" | |||
Version = "1.1.0-rc1+dev" | |||
// BuildMetadata is the extra build time data | |||
BuildMetadata = "unreleased" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sajayantony We already have extra build time data here, the full version is <Version>+<BuildMetadata>
e.g.
- if you build from this commit, the full version string will be
1.1.0-rc1+dev+unreleased
. - Without this code change in this PR, the full version string will be
1.1.0-rc.1+unreleased
, the latter already implies the former with less duplicated info.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Definition quotes from SemVer 2.0.0:
- Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata MUST be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85, 1.0.0+21AF26D3----117B344092BD.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shizhMSFT should we up the version then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The version for this release is already updated in 42650e5 before the branch cut. @sajayantony Are you suggesting we should do the version update for the next release version? We don't have a procedure for that and might be worth doing after releasing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's reset the releasing pipeline of v1.1.0-rc.1
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See details in #1013
This is just to show how to get the approval on the PR but keep the code moving forward. |
I think there is a gap. You may have observed that the target commit digest in the voting issue for 1.1.0-rc.1 has been changed after I called for voting. The back-and-forth change happens not because of how we perform release branch cut, but because we want to bump oras-go to include two bug fixes into the release branch after vote call. If we use a vote PR for the cut and want to include new changes after raising the vote PR, we still need to rebase and update the target commit digest and call for vote again. So basically, both ways of calling for vote require re-vote if we want to include new changes into the release branch cut. Also, the current way of releasing won't block coding. New changes can be merged into the main branch. But if we use a vote PR for release branch cut, other PRs cannot be merged before the vote PR is merged. |
I thought the plan was to use the |
Had a discussion offline with Shiwei and we decided to try this release method. I will raise a PR to revert version update and another one to vote for branch cutting. |
closing as it's already experimented in #1016 |
Draft PR to show version bumps so the release can be PR driven.
The proposal here is to tag 32bfb87 as v1.1.0-rc1
Basically move voting to the PR rather than an issue - #1002