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~