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: d...@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-unsubscr...@pulsar.apache.org

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

Reply via email to