fyi many projects capture this, some even capture the exact email formats
etc..., on their wiki. Typically as a "how to release" page, e.g.

https://wiki.apache.org/hadoop/HowToRelease
http://htrace.incubator.apache.org/building.html

You might compare to what you've created, however each project typically
has it's own special cases.

For things like "Commit the whole new release candidate folder in the
staged trunk
using the SVN client to commit it all" (and similar) you probably should
just give the command to run to simplify things and reduce the chances for
error. The more you can make each operation "copy/paste" the more likely
you'll have a successful release and easier for the RM. That said the more
you can automate the better (typically by adding it to mvn).

Patrick

On Tue, May 23, 2017 at 5:50 PM, Gang(Gary) Wang <ga...@apache.org> wrote:

> Hi Debo
>
> Thanks you Debo for becoming our new releasing manager, I'm trying to
> detail the steps below from my previous releases, hope it can help.
>
> Hi PPMCs
>
> Please correct me if any missing or incorrect items below and welcome to
> optimize & improve the following steps, Thanks!
>
> 1) Prepare a Linux box (one time setup)
> The commands are running on Linux OS, so please have a Linux box or a
> Virtual Machine for releasing
>
> 2) Prepare your release key if not yet or expired (one time setup)
> https://www.apache.org/dev/openpgp.html#generate-key
> Please also put your key fingerprint into your account,
> https://id.apache.org
>
> 3) Start a GPG agent on your Linux box using the following command (before
> releasing)
> $eval 'gpg-agent --daemon --use-standard-socket'
>
> 4) Install SVN client on your laptop to upload staged/released artifacts
>
> 5) Using SVN client to check out the staged trunk (One time and Update
> before voting)
> https://dist.apache.org/repos/dist/dev/incubator/mnemonic
> This trunk is used to upload the release candidates before voting on
> dev@list
>
> 6) Using SVN client to check out the release trunk (One time and Update
> after voting)
> https://dist.apache.org/repos/dist/release/incubator/mnemonic
> This trunk is used to upload the releases after voting on general@list
>
> 7) Using SVN client to checkout the project status file (One time and
> Update after releasing)
> https://svn.apache.org/repos/asf/incubator/public/trunk/
> content/projects/mnemonic.xml
>
> 8) Replace the KEYS file contents with yours in both trunk of stage and
> release and then commit the changes using SVN client
>
> 9) run the following command for auto release packaging on project
> directory
> $./build-tools/release.sh <current release version> <next release version>
> <candidate Id>
> for example
> $./build-tools/release.sh 0.8.0 0.8.0 rc1
> Note that usually we use the same current version in above command as we
> cannot predict whether or not have a new candidate for this release before
> voting
> In this step, you may have to input your GPG password to allow gpg to sign
> off artifacts using your private key
>
> 10) Prepare the new release candidate folder on stage trunk
> please duplicate a folder from latest release candidate on stage trunk and
> rename it as current release candidate.
> for example: 0.8.0-incubating-rc1
> and then empty the src folder
>
> 11) Update the CHANGES.txt for current release candidate on stage trunk
> a) open the JIRA for Mnemonic project
> b) in the overview, click the "Versions"
> c) click the latest version that needs to be release, for example
> "0.8.0-incubating"
> d) click the button "Release Notes" on top-right
> e) copy the Text between "Configure Release Notes" and "Edit/Copy Release
> Notes"
> f) open CHANGES.txt and replace all contents with the one just copied
>
> 12) Upload packaged artifacts from Linux box
> Please use tools e.g. SCP to download all artifacts suffixed with *.tar.gz
> under target/ folder into the src folder of staged trunk
>
> 13) Commit the whole new release candidate folder in the staged trunk
> using the SVN client to commit it all
>
> 14) Prepare a voting mail for dev@list voting
> Please refer to the latest vote mail in dev@list
>
> 15) Report the voting results on dev@list
> if not pass, please prepare next release candidate after issues fixed
>
> 16) Prepare a voting mail for general@list voting
> Please refer to the latest vote mail in general@list
>
> 17) Report the voting results on general@list
> if not pass, please prepare next release candidate after issues fixed
>
> 18) Submit the voted release candidate to release trunk
> a) Please copy the release candidate from staged trunk to release trunk
> b) and then remove the rc[x] suffix of the folder, for example,
> 0.8.0-incubating-rc1 to 0.8.0-incubating
> c) commit your new folder into SVN repos using SVN client
>
> 19) Update the project status file for the new releasing
> Insert a new xml element to mnemonic.xml for new release
> for example: "<li>2017-xx-xx the eighth official release.</li>"
> and then commit it using SVN client
>
> Please also improve it or correct it if any issue, Thanks!
>
> Very truly yours
> +Gary
>

Reply via email to