Great! Thanks Debo :) Very truly yours Gary
On Wed, May 31, 2017 at 5:36 PM, Debojyoti Dutta <ddu...@gmail.com> wrote: > Hi Gary > > Thx for the 1st version .... happy to help and will add to the notes as I > do the release :) > > debo > > On Wed, May 31, 2017 at 4:17 PM, Gary Wong <qich...@gmail.com> wrote: > >> Got it, Thanks, Let me submit initial version of "how to release" to wiki >> page. >> >> Very truly yours. >> Gary >> >> On Wed, May 31, 2017 at 3:18 PM, Patrick Hunt <ph...@apache.org> wrote: >> >>> Having a "how to release" wiki page (or any kind of living document) for >>> the project ensures that anyone in the community can release the product. >>> This is great for onboarding new RMs, etc... >>> >>> Patrick >>> >>> On Wed, May 24, 2017 at 9:27 AM, Debojyoti Dutta <ddu...@gmail.com> >>> wrote: >>> >>> > Thx a lot Gary and Patrick for the tips on release management. It >>> would be >>> > my 1st so I am going to seamlessly ask for forgiveness :) >>> > >>> > debo >>> > >>> > On Tue, May 23, 2017 at 7:43 PM, Patrick Hunt <ph...@apache.org> >>> wrote: >>> > >>> >> 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/cont >>> >>> ent/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 >>> >>> >>> >> >>> >> >>> > >>> > >>> > -- >>> > -Debo~ >>> > >>> >> >> > > > -- > -Debo~ >