You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by "entvex (via GitHub)" <gi...@apache.org> on 2023/10/01 17:03:32 UTC

[GitHub] [pulsar-dotpulsar] entvex opened a new pull request, #184: Created an GitHub Action to release a nuget package.

entvex opened a new pull request, #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184

   **Issue Link**: [GitHub Issue #117](https://github.com/apache/pulsar-dotpulsar/issues/117)
   
   ### Description
   
   This GitHub Actions (GHA) workflow automates the release process for our software to NuGet. The process involves the following steps:
   
   ![Workflow Overview](https://github.com/apache/pulsar-dotpulsar/assets/1580435/41d1d54d-98b2-4fea-b59e-5dd2c3a36c42)
   
   1. Create or select an existing tag.
   2. Enter a release title.
   3. Generate release notes.
   4. Push the release to GitHub.
   
   However, there's a limitation: it won't upload the NuGet package to the release assets due to the need for additional GitHub permissions. Obtaining the required permissions might require a request to the Apache team to create a dedicated token for this purpose.
   
   Alternatively, the entire process could be automated when a maintainer creates a tag. But, once again, this requires a GitHub access token, and it's uncertain whether Apache would provide one. There are third-party GitHub Actions available for this purpose, but they are deprecated ([example](https://github.com/actions/upload-release-asset)). Additionally, the 'action-gh-release' action is no longer maintained ([details](https://github.com/softprops/action-gh-release/issues/107)).
   
   As a workaround, I'm exploring the possibility of using the GitHub CLI within GitHub Actions to obtain the necessary permissions.
   
   ### Testing
   
   Testing this workflow is challenging since GitHub doesn't offer a straightforward testing environment. I initially tested it on my personal project, [nugettestrepo_delete_me_soon](https://github.com/entvex/nugettestrepo_delete_me_soon), and confirmed its functionality. Later, I adapted the GHA configuration to match the DotPulsar folder structure. Unfortunately, due to GitHub's limitations, there are no comprehensive testing options available beyond these steps.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1784648214

   Cross-reference - https://lists.apache.org/thread/kvvc2qlfo4b2bj28n0fz5d8szoxoo1o0


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "RobertIndie (via GitHub)" <gi...@apache.org>.
RobertIndie commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1785218991

   @blankensteiner I'm not referring to the Git 101 "how to" doc.
   
   For this statement:
   
   > When we need to create a backporting patch, we simply create a branch for the version that requires the backport. We  > can easily locate a specific version using git tags. It is not necessary to create a branch until the actual need arises. We > have previously backported a patch, and if you would like to see it, please refer to the image below.
   
   Yes, it's clear to me now. However, I couldn't get this information from the release process. I think it's better to add it to the release process.
   
   Also, I'm +1 for this way of handling the maintenance branch. In most cases, we don't need to maintain the old version branch.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371565167


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-1
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Promote the release.
+

Review Comment:
   I have added a summary of vote, step 👍 



##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-1
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Promote the release.
+

Review Comment:
   I have added a summary of vote, step 👍 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371075580


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .

Review Comment:
   ```suggestion
   $ cp ../apache-pulsar-dotpulsar-X.X.X-* .
   ```
   
   ?
   
   Maybe you can define a env var and use it following. Like `opendal_version` in [this page](https://opendal.apache.org/community/committers/release).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1787471219

   Thanks for your review and preparation :D
   
   I'll double check the version tomorrow and pending to pull the trigger :D


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371492219


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).

Review Comment:
   Ah good idea. I have moved the link to the vote email template :)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun merged PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371491523


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .

Review Comment:
   I have changed 
   $ cp ../apache-pulsar-dotpulsar-0.X.0-* .
   to
   $ cp ../apache-pulsar-dotpulsar-X.X.X-* .



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371493701


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).

Review Comment:
   I have also added a link to the nuget in the ANNOUNCE email



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371076629


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-1
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Promote the release.
+

Review Comment:
   Send a `[RESULT][VOTE]` to conclude the result.
   
   Ref - https://kvrocks.apache.org/community/vote-a-core-developer/#feedback-on-voting-results
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "dave2wave (via GitHub)" <gi...@apache.org>.
dave2wave commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1772783047

   @eolivelli is correct and the release must be VOTED on as a source release. Once that passes then pressing a button to build and release a convenience binary to a packager may be acceptable to the ASF. @tisonkun I think you know where you can have that discussion.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "RobertIndie (via GitHub)" <gi...@apache.org>.
RobertIndie commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1785038565

   
   > Hi @RobertIndie. When we need to create a backporting patch, we simply create a branch for the version that requires the backport. We can easily locate a specific version using git tags. It is not necessary to create a branch until the actual need arises. We have previously backported a patch, and if you would like to see it, please refer to the image below.
   
   It's better to make it clearer in the release process. Like how to create a maintenance branch and how to perform the patch version release.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371534349


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-1
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Promote the release.
+

Review Comment:
   This should be the correct link - https://kvrocks.apache.org/community/create-a-release#kvrocks-community-vote



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1772641409

   I'll review this patch in the next week.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371075981


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).

Review Comment:
   We don't publish the nuget file to SVN. So you can add this link message to the vote mail template for verifier to use.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371521169


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-1
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Promote the release.
+

Review Comment:
   @tisonkun When looking at the link you provided. That is a summary of a vote for a new committer or PMC. Not a summary of a release vote ? 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Created an GitHub Action to release a nuget package. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1742547315

   Dear @eolivelli,
   We are aware of this and if you want to follow the discussion please see https://github.com/apache/pulsar-dotpulsar/issues/159. Also, this PR is a draft, so it can't be merged yet. 😄 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "blankensteiner (via GitHub)" <gi...@apache.org>.
blankensteiner commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1785067559

   Hi @RobertIndie 
   I'm not sure what you mean by making it "clearer in the release process"? Are you advocating creating the branch or are you saying that some Git 101 "how to"-documentation is missing?
   Regarding the branches: It makes sense to create a branch when it is needed and not before. In 99% of the cases, we are not gonna need it.
   Regarding documentation: You are welcome to add any documentation you feel is missing.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "RobertIndie (via GitHub)" <gi...@apache.org>.
RobertIndie commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1375746828


##########
docs/release-process.md:
##########
@@ -0,0 +1,241 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Summary of vote.
+7. Promote the release.
+8. Create a GitHub release.
+9. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+4. Sign and stage the artifacts.
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-X.X.X-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+Nuget package:
+https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-X
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Summary of vote.
+
+```
+To: dev@pulsar.apache.org
+Subject: [RESULT][VOTE] Apache Pulsar DotPulsar X.X.X released
+
+[RESULT][VOTE] Release Apache DotPulsar X.X.X
+
+The vote to release Apache DotPulsar X.X.X has passed.
+
+The vote PASSED with xxx binding +1 and 0 -1 votes:
+
+Binding votes:
+- Yuan Wang
+- tison
+- hulk
+- Liang Chen
+- Jean-Baptiste Onofré
+- Xiaoqiao He
+- donghui liu
+
+Vote thread:
+
+https://lists.apache.org/thread/XXX
+
+Thank you to all the above members to help us to verify and vote for the X.X.X release.
+
+Thanks
+```
+
+7. Promote the release.
+
+Promote the artifacts on the release location (need PMC permissions):
+```
+svn move -m "release 0.X.0" https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1 \
+         https://dist.apache.org/repos/dist/release/pulsar/pulsar-dotpulsar-X.X.X
+Remove the old releases (if any). We only need the latest release there, older releases are available through the Apache archive:
+```
+
+Get the list of releases
+```
+svn ls https://dist.apache.org/repos/dist/release/pulsar | grep dotpulsar
+```
+
+Delete each release (except for the last one)
+```
+svn rm https://dist.apache.org/repos/dist/release/pulsar/pulsar-dotpulsar/pulsar-dotpulsar-X.X.X
+``` 
+
+8. Create a GitHub release.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+If the head of the master branch have moved and therefor the last commit is not named `Make ready for release X.X.X-rc-X`.

Review Comment:
   ```suggestion
   If the head of the master branch has moved and therefore the last commit is not named `Make ready for release X.X.X-rc-X`.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1787171422

   Hi @RobertIndie.
   I have added [Managing backporting of patches](https://github.com/apache/pulsar-dotpulsar/pull/184/commits/16b406596e2596dfff27827a7ec686e1be07c60c) to release-process.md. If you think more is text is needed feel free to add it 😄


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1784799982

   > Seems like we don't create a branch for the Major and Minor versions. How do we maintain the patch release for the specific version?
   
   Hi @RobertIndie.
   When we need to create a backporting patch, we simply create a branch for the version that requires the backport. We can easily locate a specific version using git tags. It is not necessary to create a branch until the actual need arises. We have previously backported a patch, and if you would like to see it, please refer to the image below.
   
   ![image](https://github.com/apache/pulsar-dotpulsar/assets/1580435/289198f1-3a31-4766-8d51-ef7d9f63724b)
   
   If anything is unclear, please let me know.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371495133


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-1
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Promote the release.
+

Review Comment:
   I'll add that right now



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "tisonkun (via GitHub)" <gi...@apache.org>.
tisonkun commented on PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#issuecomment-1778414799

   > may be acceptable to the ASF
   
   Yes. This is what I implement for Apache OpenDAL (incubating) - https://github.com/apache/incubator-opendal/blob/bb438d80f7bbea2285611957b3f6fa6098ce7f9e/.github/workflows/bindings_nodejs.yml#L198-L246
   
   > where you can have that discussion
   
   I will start a DISCUSS in dev@ for broadcasting this PR, and review the release process proposed here to ensure the process is correct as INFRA member did in https://github.com/apache/incubator-opendal/pull/2729. @dave2wave I'll appreciate it if you can check the release process here.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Release process and GitHub Action to release a NuGet packages, based on tags. [pulsar-dotpulsar]

Posted by "entvex (via GitHub)" <gi...@apache.org>.
entvex commented on code in PR #184:
URL: https://github.com/apache/pulsar-dotpulsar/pull/184#discussion_r1371495133


##########
docs/release-process.md:
##########
@@ -0,0 +1,206 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+This guide illustrates how to perform a release for Apache DotPulsar.
+
+In general, you need to perform the following steps:
+
+1. Update the version and tag of a package.
+2. Create a GitHub prerelease.
+3. Download the source code.
+4. Sign and stage the artifacts.
+5. Run a vote.
+6. Promote the release.
+7. Create a GitHub release.
+8. Announce the release.
+
+### Requirements
+- [Creating GPG keys to sign release artifacts](https://pulsar.apache.org/contribute/create-gpg-keys/)
+
+## Versioning
+Bump up the version number as follows.
+
+* Major version (e.g. 2.8.0 => 3.0.0)
+    * Changes that break backward compatibility
+* Minor version (e.g. 2.8.0 => 2.9.0)
+    * Backward compatible new features
+* Patch version (e.g. 2.8.0 => 2.8.1)
+    * Backward compatible bug fixes
+
+## Steps in detail
+
+**In these instructions, I'm referring to an fictitious release `X.X.X`. Change the release version in the examples accordingly with the real version.**
+
+1. Update the version and tag of a package.
+
+Update the information of the new release in the `DotPulsar.csproj` and `CHANGELOG.md` files and send a PR for with the changes.
+
+Be sure to make the commit message `Make ready for release X.X.X-rc-X`
+
+2. Create a GitHub prerelease.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases/new
+
+Create a tag `X.X.X-rc-X`
+
+Create a release title: `DotPulsar X.X.X-rc-X`
+
+Generated release notes.
+
+Make sure the `Set as a pre-release` checkbox is checked!
+
+Publish the release.
+
+3. Download the source code.
+
+Browse to https://github.com/apache/pulsar-dotpulsar/releases to download the source code in tar.gz.
+
+Browse to https://www.nuget.org/packages/DotPulsar/X.X.X-rc-X to download the nuget file(It can take up to 5 minutes for nuget to have the package show up).
+
+4. Sign and stage the artifacts
+
+The src artifact need to be signed and uploaded to the dist SVN repository for staging.
+
+```
+$ gpg -b --armor pulsar-dotpulsar-X.X.X-src.tar.gz
+$ shasum -a 512 pulsar-dotpulsar-X.X.X-src.tar.gz > pulsar-dotpulsar-X.X.X-src.tar.gz.sha512 
+```
+
+Checkout repo for uploading artifacts
+```
+$ svn co https://dist.apache.org/repos/dist/dev/pulsar pulsar-dist-dev
+$ cd pulsar-dist-dev
+```
+
+Create a candidate directory at the root repo
+```
+$ svn mkdir pulsar-dotpulsar-X.X.X-rc-1
+$ cd pulsar-dotpulsar-X.X.X-rc-1
+```
+
+Copy the signed artifacts into the rc directory and commit
+```
+$ cp ../apache-pulsar-dotpulsar-0.X.0-* .
+$ svn add *
+$ svn ci -m 'Staging artifacts and signature for DotPulsar X.X.X-rc-1'
+```
+
+5. Run a vote.
+
+Send an email to the Pulsar Dev mailing list:
+
+```
+To: dev@pulsar.apache.org
+Subject: [VOTE] DotPulsar Release X.X.X RC 1
+
+Hi everyone,
+Please review and vote on the release candidate #1 for the version X.X.X, as follows:
+[ ] +1, Approve the release
+[ ] -1, Do not approve the release (please provide specific comments)
+
+This is the release candidate for DotPulsar, version X.X.X.
+
+DotPulsar's KEYS file contains PGP keys we used to sign this release:
+https://dist.apache.org/repos/dist/dev/pulsar/KEYS
+
+Please download these packages and review this release candidate:
+- Review release notes
+- Download the source package (verify shasum, and asc) and follow the
+README.md to build and run DotPulsar.
+
+The vote will be open for at least 72 hours. It is adopted by majority approval, with at least 3 PMC affirmative votes.
+
+Source file:
+https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-X.X.X-rc-1/
+
+The tag to be voted upon:
+X.X.X
+https://github.com/apache/pulsar-dotpulsar/tree/X.X.X-rc-1
+
+SHA-512 checksums:
+97bb1000f70011e9a585186590e0688586590e09  pulsar-dotpulsar-X.X.X-src.tar.gz
+```
+
+The vote should be open for at least 72 hours (3 days). Votes from Pulsar PMC members will be considered binding, while anyone else is encouraged to verify the release and vote as well.
+
+If the release is approved here, we can then proceed to the next step.
+
+6. Promote the release.
+

Review Comment:
   I'll add that right now



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org