Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

6. Call for incubator vote on the release candidate

7. Close the incubator vote with the result

8. Announce Announce the official release

1. Discuss with the community for the next release

...

The email template:

Title: [DISCUSS] Release  Release Apache Pegasus (incubating) {VERSION}

Hi,

Some features like xxx, xxx, and xxx have been added. / There are some bugs reported ({BUG ISSUES}) fixed recently.

...

Prepare the release candidate and post a new document under Release Notes. Then share it with dev@pegasus.apache.org  for the community-wide review.

Title: Re: [DISCUSS] Release  Release Apache Pegasus (incubating) {VERSION}

Hi,

Release Notes of of Apache Pegasus (incubating) {VERSION} is given here: {Release Notes Link}.

...

The naming rule of the source zip is apache-pegasus-{VERSION}-sourceincubating-releasesrc.zip. For example, apache-pegasus-2.1.0-sourceincubating-releasesrc.zip。(not 2.1.0-RC1)

Execute the following steps after completes the package:

...

➜ mv {SOMEWHERE}/apache-pegasus-2.1.0-RC1incubating-source-releasesrc.zip ./2.1.0-RC1/ # Place the artifacts in the directory

Having only the source zip is not enough. We should prepare two other files:

Perform this command to generate a checksum file:

➜ sha512sum apache-pegasus-2.1.0-RC1incubating-source-releasesrc.zip > apache-pegasus-2.1.0-RC1incubating-source-releasesrc.zip.sha512

After all the above operations complete, there will be 3 files:

  • {SOURCE_RELEASE}.zip
  • {SOURCE_RELEASE}.zip.asc
  • {SOURCE_RELEASE}.zip.sha512

Deploy those files to the incubator's svn repo:

➜ svn add 2.1.0-RC1

➜ svn commit

...

After the RC files uploaded, start a review-and-vote thread on dev@pegasus.apache.org.

Title: [VOTE] Release Release Apache Pegasus (incubating) {VERSION}-RC1

Hello, Pegasus devs!

...

If there's no issue around the release, reply to the thread to close the vote. Then start a separate email for the voting result.

Title: [RESULT][VOTE] Release Release Apache Pegasus (incubating) {VERSION}-RC1

Hi, Pegasus devs,

...

6. Call for incubator vote on the release candidate

If you are a new release manager, and you update KEYS files, you need to upload KEYS  file to the official release repo, because the IPMC suggest that the KEYS file should be referenced from the public download location.

➜ svn co https://dist.apache.org/repos/dist/release/incubator/pegasus/ dist-release-pegasus

➜ cd dist-release-pegasus

➜ cp {NEW KEYS FILE PATH} .

➜ svn update KEYS

➜ svn commit

The release repo update will be synced to download repo within 15 mins (http://www.apache.org/legal/release-policy.html#upload-ci).

If you are not a new release manager, you didn't update KEYS files, please skip this step, and call for incubator vote.

Start a vote thread for an incubator-wide review. The vote is basically the same as the community vote with a slight difference that it sends to general@incubator.apache.org. So be careful before sending it.

Title: Release Apache Pegasus (Incubating) {VERSION}

Hi, all

This is a call for a vote to release Apache Pegasus (Incubating) version
{VERSION}. Pegasus is a distributed key-value storage system that is designed
to be simple, horizontally scalable, strongly consistent, and
high-performance.

...

It is tagged in Git as {VERSION} and the corresponding hash is the
following: {GITBOX LINK}

KEYS file available:
https://distdownloads.apache.org/repos/dist/dev/incubator/pegasus/KEYS

For information about the contents of this release, see: {RELEASE NOTE LINK}

...

Best regards
{RELEASE MANAGER}

7. Close the incubator vote with the result

Title: [RESULT][VOTE] Release Apache Pegasus (incubating) {VERSION}

Hi, all,

The vote for Apache Pegasus (incubating) {VERSION} release is closed now.
Vote result: the vote PASSES with 3 votes +1 and no -1.


Binding votes:

+1 votes:
* Duo Zhang (IPMC)
* xxx (IPMC)
* xxx (IPMC)

+0 votes:
* no vote

-1 votes:
* no vote

Here is the vote thread: {VOTE THREAD LINK}

Thanks to everyone who voted!

We will proceed with the announcement of {VERSION}

Best regards
{RELEASE MANAGER}


8. Announce the official release

Before the official announcement, you need to upload the release artifacts to the official release repo.

➜ svn co https://dist.apache.org/repos/dist/release/incubator/pegasus/ dist-release-pegasus

➜ cd dist-release-pegasus

➜ cp -r {PATH}/dist-dev-pegasus/2.1.0-RC1 ./2.1.0 # choose the staged release as the official release

➜ svn add 2.1.0

➜ svn commit

Add new tag without '-RCx' words to github, both Pegasus and rdsn projects.

        ➜ cd incubator-pegasus

        ➜ git checkout v2.2.0-RC0

        ➜ git tag v2.2.0

        ➜ git push ap_origin v2.2.0.  # similar to rdsn

Remember to update the website in both English & Chinese versions: https://pegasus.apache.org/docs/downloads/

Check all the links are valid.

Then reply with the following:

Title: [ANNOUNCE] Release Apache Pegasus (incubating) {VERSION}

Hi, all,

We are glad to announce the release of Apache Pegasus(incubating) {VERSION}. 

Pegasus is a distributed key-value storage system that is designed
to be simple, horizontally scalable, strongly consistent, and
high-performance.


The release can be downloaded at: https://pegasus.apache.org/docs/downloads

The release note is available at: {RELEASE NOTE URL}


Apache Pegasus (incubating) community