From 1413a089a1c3d28a97d68daf6130d12db85171b8 Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Thu, 13 Jul 2023 10:42:22 +0800 Subject: [PATCH 1/7] doc: align dev checklist to CLI release practices Signed-off-by: Billy Zha --- docs/community/developer_guide.mdx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/community/developer_guide.mdx b/docs/community/developer_guide.mdx index 766a20fd..1a9ce794 100644 --- a/docs/community/developer_guide.mdx +++ b/docs/community/developer_guide.mdx @@ -83,14 +83,19 @@ To update or add new dependencies, run `go get `. This section needs a lot of love and automation 🙂 ::: - +### Preparation 1. Make sure your GPG is available on GitHub at `https://github.com/.gpg`. This can be added at https://github.com/settings/keys 1. If you haven't already, open PR to add your GPG key to the [`KEYS`](https://github.com/oras-project/oras/blob/main/KEYS) file (see file for instructions) -1. Open a release PR to - - Build with latest golang: replace go version of [binary](https://github.com/oras-project/oras/blob/main/.github/workflows/release-github.yml#L32) and [image](https://github.com/oras-project/oras/blob/main/Dockerfile#L14) to latest stable one - - Update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version -1. After the release PR got merged, [create an issue](https://github.com/oras-project/oras/issues/new) to call for vote on cutting off a release branch named `release-.` based on the version update commit. -1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. +1. Open a PR to update Github Actions with latest version of golang: replace go version of [binary](https://github.com/oras-project/oras/blob/main/.github/workflows/release-github.yml#L32) and [image](https://github.com/oras-project/oras/blob/main/Dockerfile#L14) to latest stable one + +### Cut release branch +1. Open a release PR to update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version +1. Send a message to slack channel to call for vote on cutting off a release branch named `release-.` based on the version update commit. If the vote passes, merge the PR. + - The target commit should be the SHA digest of the last commit in the release PR + - Make sure that the PR is merged with `Create a merge commit` option + +### Release +1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the target commit, **NOT** the merge commit. ```sh version=1.0.0 git tag v${version} From 6c2ad3941e010fc48c8d7f067693e8065aef51e4 Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Thu, 13 Jul 2023 10:48:30 +0800 Subject: [PATCH 2/7] add branch cutting Signed-off-by: Billy Zha --- docs/community/developer_guide.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/community/developer_guide.mdx b/docs/community/developer_guide.mdx index 1a9ce794..bbc9d32f 100644 --- a/docs/community/developer_guide.mdx +++ b/docs/community/developer_guide.mdx @@ -88,12 +88,12 @@ This section needs a lot of love and automation 🙂 1. If you haven't already, open PR to add your GPG key to the [`KEYS`](https://github.com/oras-project/oras/blob/main/KEYS) file (see file for instructions) 1. Open a PR to update Github Actions with latest version of golang: replace go version of [binary](https://github.com/oras-project/oras/blob/main/.github/workflows/release-github.yml#L32) and [image](https://github.com/oras-project/oras/blob/main/Dockerfile#L14) to latest stable one -### Cut release branch +### Raiaw release pull request 1. Open a release PR to update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version -1. Send a message to slack channel to call for vote on cutting off a release branch named `release-.` based on the version update commit. If the vote passes, merge the PR. +1. Send a message to slack channel to call for vote on releasing. If the vote passes, merge the PR. - The target commit should be the SHA digest of the last commit in the release PR - Make sure that the PR is merged with `Create a merge commit` option - + - (optional) cut off a release branch named `release-.` if there is not one already ### Release 1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the target commit, **NOT** the merge commit. ```sh From 2c03404d7225a62bf8e4e5c5f17a449d5c00194b Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Thu, 13 Jul 2023 10:54:34 +0800 Subject: [PATCH 3/7] doc clean Signed-off-by: Billy Zha --- docs/community/developer_guide.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/community/developer_guide.mdx b/docs/community/developer_guide.mdx index bbc9d32f..0d943dbc 100644 --- a/docs/community/developer_guide.mdx +++ b/docs/community/developer_guide.mdx @@ -88,14 +88,14 @@ This section needs a lot of love and automation 🙂 1. If you haven't already, open PR to add your GPG key to the [`KEYS`](https://github.com/oras-project/oras/blob/main/KEYS) file (see file for instructions) 1. Open a PR to update Github Actions with latest version of golang: replace go version of [binary](https://github.com/oras-project/oras/blob/main/.github/workflows/release-github.yml#L32) and [image](https://github.com/oras-project/oras/blob/main/Dockerfile#L14) to latest stable one -### Raiaw release pull request +### Raise a release pull request 1. Open a release PR to update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version 1. Send a message to slack channel to call for vote on releasing. If the vote passes, merge the PR. - The target commit should be the SHA digest of the last commit in the release PR - Make sure that the PR is merged with `Create a merge commit` option - (optional) cut off a release branch named `release-.` if there is not one already ### Release -1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the target commit, **NOT** the merge commit. +1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the last commit of release PR, **NOT** the merge commit. ```sh version=1.0.0 git tag v${version} From e64dc788da47bb498a7a150c54447acc1a66a07f Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Thu, 13 Jul 2023 10:58:11 +0800 Subject: [PATCH 4/7] doc clean Signed-off-by: Billy Zha --- docs/community/developer_guide.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/community/developer_guide.mdx b/docs/community/developer_guide.mdx index 0d943dbc..ef35d6e1 100644 --- a/docs/community/developer_guide.mdx +++ b/docs/community/developer_guide.mdx @@ -88,12 +88,12 @@ This section needs a lot of love and automation 🙂 1. If you haven't already, open PR to add your GPG key to the [`KEYS`](https://github.com/oras-project/oras/blob/main/KEYS) file (see file for instructions) 1. Open a PR to update Github Actions with latest version of golang: replace go version of [binary](https://github.com/oras-project/oras/blob/main/.github/workflows/release-github.yml#L32) and [image](https://github.com/oras-project/oras/blob/main/Dockerfile#L14) to latest stable one -### Raise a release pull request +### Call for vote 1. Open a release PR to update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version 1. Send a message to slack channel to call for vote on releasing. If the vote passes, merge the PR. - The target commit should be the SHA digest of the last commit in the release PR - Make sure that the PR is merged with `Create a merge commit` option - - (optional) cut off a release branch named `release-.` if there is not one already + - (optional) cut off a release branch named `release-.` if there is not one already ### Release 1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the last commit of release PR, **NOT** the merge commit. ```sh From e6bd6c817f29f8f7214e7baa3a4f88b2d9b7932d Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Thu, 13 Jul 2023 08:32:37 +0000 Subject: [PATCH 5/7] resolve comments Signed-off-by: Billy Zha --- docs/community/developer_guide.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/community/developer_guide.mdx b/docs/community/developer_guide.mdx index ef35d6e1..3db26429 100644 --- a/docs/community/developer_guide.mdx +++ b/docs/community/developer_guide.mdx @@ -90,12 +90,16 @@ This section needs a lot of love and automation 🙂 ### Call for vote 1. Open a release PR to update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version + - The target branch is `main` + - The title should be `bump: tag and release ORAS CLI v.[-]` + - The description must reference the digest of version bump up commit for voting 1. Send a message to slack channel to call for vote on releasing. If the vote passes, merge the PR. - The target commit should be the SHA digest of the last commit in the release PR - Make sure that the PR is merged with `Create a merge commit` option - (optional) cut off a release branch named `release-.` if there is not one already + ### Release -1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the last commit of release PR, **NOT** the merge commit. +1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the voted commit, **NOT** the merge commit. ```sh version=1.0.0 git tag v${version} From 3f593d4ef5570265d9e1627a075282a85ef645c6 Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Fri, 14 Jul 2023 03:12:19 +0000 Subject: [PATCH 6/7] resolve comments Signed-off-by: Billy Zha --- docs/community/developer_guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/community/developer_guide.mdx b/docs/community/developer_guide.mdx index 3db26429..898efa9d 100644 --- a/docs/community/developer_guide.mdx +++ b/docs/community/developer_guide.mdx @@ -88,7 +88,7 @@ This section needs a lot of love and automation 🙂 1. If you haven't already, open PR to add your GPG key to the [`KEYS`](https://github.com/oras-project/oras/blob/main/KEYS) file (see file for instructions) 1. Open a PR to update Github Actions with latest version of golang: replace go version of [binary](https://github.com/oras-project/oras/blob/main/.github/workflows/release-github.yml#L32) and [image](https://github.com/oras-project/oras/blob/main/Dockerfile#L14) to latest stable one -### Call for vote +### Request to vote 1. Open a release PR to update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version - The target branch is `main` - The title should be `bump: tag and release ORAS CLI v.[-]` From 710215e66db6b11391dc6586a007cf2cd96d3dc6 Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Mon, 17 Jul 2023 02:28:20 +0000 Subject: [PATCH 7/7] resolve comments Signed-off-by: Billy Zha --- docs/community/developer_guide.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/community/developer_guide.mdx b/docs/community/developer_guide.mdx index 898efa9d..8fd2b4b0 100644 --- a/docs/community/developer_guide.mdx +++ b/docs/community/developer_guide.mdx @@ -83,20 +83,20 @@ To update or add new dependencies, run `go get `. This section needs a lot of love and automation 🙂 ::: -### Preparation +### Prerequisites 1. Make sure your GPG is available on GitHub at `https://github.com/.gpg`. This can be added at https://github.com/settings/keys 1. If you haven't already, open PR to add your GPG key to the [`KEYS`](https://github.com/oras-project/oras/blob/main/KEYS) file (see file for instructions) 1. Open a PR to update Github Actions with latest version of golang: replace go version of [binary](https://github.com/oras-project/oras/blob/main/.github/workflows/release-github.yml#L32) and [image](https://github.com/oras-project/oras/blob/main/Dockerfile#L14) to latest stable one ### Request to vote -1. Open a release PR to update oras version: replace [current stable version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version +1. Open a release PR to update oras version: replace [current version](https://github.com/oras-project/oras/blob/main/internal/version/version.go#L20) with upcoming release version - The target branch is `main` - - The title should be `bump: tag and release ORAS CLI v.[-]` + - The title should be `bump: tag and release ORAS CLI v..[-]` - The description must reference the digest of version bump up commit for voting 1. Send a message to slack channel to call for vote on releasing. If the vote passes, merge the PR. - The target commit should be the SHA digest of the last commit in the release PR - Make sure that the PR is merged with `Create a merge commit` option - - (optional) cut off a release branch named `release-.` if there is not one already + - (optional) cut off a release branch named `release-.` if not present ### Release 1. Make fresh clone of the repo after all above steps are completed. Create a new tag for the version prefixed with "v" and push the tag directly to the repo. The tag should be created on the voted commit, **NOT** the merge commit.