Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B7DB110E76 for ; Wed, 5 Mar 2014 21:05:48 +0000 (UTC) Received: (qmail 58086 invoked by uid 500); 5 Mar 2014 21:05:48 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 58030 invoked by uid 500); 5 Mar 2014 21:05:47 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 58020 invoked by uid 99); 5 Mar 2014 21:05:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Mar 2014 21:05:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.131] (HELO eos.apache.org) (140.211.11.131) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Mar 2014 21:05:44 +0000 Received: from eos.apache.org (localhost [127.0.0.1]) by eos.apache.org (Postfix) with ESMTP id 2DC32E54 for ; Wed, 5 Mar 2014 21:05:23 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Apache Wiki To: Apache Wiki Date: Wed, 05 Mar 2014 21:05:23 -0000 Message-ID: <20140305210523.84804.64242@eos.apache.org> Subject: =?utf-8?q?=5BCordova_Wiki=5D_Update_of_=22StepsForToolsRelease=22_by_Andr?= =?utf-8?q?ewGrieve?= Auto-Submitted: auto-generated X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cordova Wiki" for c= hange notification. The "StepsForToolsRelease" page has been changed by AndrewGrieve: https://wiki.apache.org/cordova/StepsForToolsRelease?action=3Ddiff&rev1=3D2= 6&rev2=3D27 - =3D Release Process for ''Plugman and CLI'' =3D + Moved to: [[https://github.com/apache/cordova-coho/blob/master/docs/tools= -release-process.md]] = - Before cutting any releases, read the Apache's [[http://www.apache.org/de= v/release|Releases Policy]] - = - Plugman and CLI are released at most weekly (see: VersioningAndReleaseStr= ategy). - = - A tools release is performed by a single person each week. We call this p= erson the "Release Master". How to select the Release Master is still TDB. = - = - TODO: add in RAT instruction (via coho) for next release - = - TODO: use npm pack instead of git archive. - = - TODO: Use perl instead of sed in these commands so they work on Linux. - = - =3D=3D Get Buy-in =3D=3D - = - 1. Email the dev mailing-list and see if anyone has reason to postpone t= he release. - * If so, agree upon a branching date / time. - = - =3D=3D Create JIRA issues =3D=3D - = - * Create a JIRA issue to track the status of the release. - * Make it of type "Task" - * Title should be "Tools Release _Feb 2, 2014_" - * Description should be: "Following steps at https://wiki.apache.org/c= ordova/StepsForToolsRelease" - * Comments should be added to this bug after each top-level step below i= s taken - * Set a variable for use later on: - {{{ - JIRA=3D"CB-????" # Set this to the release bug. - }}} - = - =3D=3D Test =3D=3D - 1. Ensure you're up-to-date: - {{{ - ./cordova-coho/coho repo-update -r cli -r plugman - (cd cordova-plugman && npm install) - (cd cordova-cli && npm install) - (cd cordova-cli && npm install ../cordova-plugman) - }}} - 2. Ensure that mobilespec creates okay via CLI: - {{{ - cordova-mobile-spec/createmobilespec.sh - (cd mobilespec && cordova run android) - }}} - 3. Ensure uninstall doesn't cause errors: - {{{ - cordova plugin remove org.cordova.mobile-spec-dependencies - }}} - 4. Ensure that mobilespec creates okay via plugman: - {{{ - cordova-mobile-spec/createmobilespecandroid-usingplugman.sh - (cd mobilespec-android && cordova/run) - }}} - 5. Ensure unit tests pass: - {{{ - (cd cordova-plugman; npm test) - (cd cordova-cli; npm test) - }}} - 6. Add a comment to the JIRA issue stating what you tested, and what the= results were. - = - =3D=3D Update Release Notes & Version =3D=3D - = - 2. Increase the version within package.json using `SemVer`, and remove t= he ''-dev'' suffix - {{{ - for l in cordova-plugman cordova-cli; do ( cd $l; v=3D"$(grep '"version"'= package.json | cut -d'"' -f4)"; if [[ $v =3D *-dev ]]; then v2=3D"${v%-dev= }"; echo "$l: Setting version to $v2"; sed -i '' -E 's/version":.*/version"= : "'$v2'",/' package.json; fi) ; done - }}} - a. If the changes merit it, manually bump the major / minor version in= stead of the micro. List the changes via: - {{{ - ( cd cordova-plugman; git log --pretty=3Dformat:'* %s' --topo-order --no-= merges $(git describe --tags --abbrev=3D0)..master | grep -v "Incremented p= lugin version" ) - }}} - {{{ - ( cd cordova-cli; git log --pretty=3Dformat:'* %s' --topo-order --no-merg= es $(git describe --tags --abbrev=3D0)..master | grep -v "Incremented plugi= n version" ) - }}} - = - 3. Update each repo's RELEASENOTES.md file with changes - {{{ - # Add new heading to release notes with version and date - DATE=3D$(date "+%h %d, %Y") - for l in cordova-plugman cordova-cli; do ( cd $l; v=3D"$(grep '"version= "' package.json | cut -d'"' -f4)"; echo -e "\n### $v ($DATE)" >> RELEASENOT= ES.md; git log --pretty=3Dformat:'* %s' --topo-order --no-merges $(git desc= ribe --tags --abbrev=3D0)..master | grep -v "Incremented plugin version" >>= RELEASENOTES.md); done - # Then curate: - vim cordova-cli/RELEASENOTES.md cordova-plugman/RELEASENOTES.md - }}} - a. Update the version of plugman that CLI depends on: - {{{ - v=3D"$(grep '"version"' cordova-plugman/package.json | cut -d'"' -f4)" - sed -i '' -E 's/"plugman":.*/"plugman": "'$v'",/' cordova-cli/package.j= son - }}} - a. Commit these two changes together into one commit - {{{ - for l in cordova-plugman cordova-cli; do ( cd $l; v=3D"$(grep '"version= "' package.json | cut -d'"' -f4)"; git commit -am "$JIRA Updated version an= d RELEASENOTES.md for release $v" ); done - }}} - = - =3D=3D Tag =3D=3D - {{{ - # Review commits: - for l in cordova-plugman cordova-cli; do ( cd $l; git log -p origin/mas= ter..master ); done = - # Tag - for l in cordova-plugman cordova-cli; do ( cd $l; v=3D"$(grep '"version= "' package.json | cut -d'"' -f4)"; git tag $v ); done - }}} = - = - =3D=3D Update `-dev` suffix to versions =3D=3D - {{{ - for l in cordova-plugman cordova-cli; do ( cd $l; v=3D"$(grep '"version= "' package.json | cut -d'"' -f4)"; if [[ $v !=3D *-dev ]]; then v2=3D"$(ech= o $v|awk -F"." '{$NF+=3D1}{print $0RT}' OFS=3D"." ORS=3D"")-dev"; echo "$l:= Setting version to $v2"; sed -i '' -E 's/version":.*/version": "'$v2'",/' = package.json; fi); done - for l in cordova-plugman cordova-cli; do (cd $l; git commit -am "$JIRA = Incremented package version to -dev"; git show ); done - }}} - = - =3D=3D Push =3D=3D - {{{ - # Push - for l in cordova-plugman cordova-cli; do ( cd $l; git push && git push = --tags ); done - }}} - If the push fails due to not being fully up-to-date, either: - a) Pull in new changes via `git pull --rebase`, and include them in the r= elease notes / re-tag - b) Pull in new changes via `git pull`, and do *not* include them in the r= elease. - = - =3D=3D Publish to dist/dev =3D=3D - 1. Ensure you have the svn repos checked out: - {{{ - ./cordova-coho/coho repo-clone -r dist -r dist/dev - }}} - 2. Create archives from your tags: - {{{ - ./cordova-coho/coho create-archive -r plugman -r cli --dest cordova-dist-= dev/$JIRA - }}} - 3. Sanity Check: - {{{ - ./cordova-coho/coho verify-archive cordova-dist-dev/$JIRA/*.zip - }}} - 4. Upload: - {{{ - (cd cordova-dist-dev && svn add $JIRA && svn commit -m "$JIRA Uploading r= elease candidates for tools release") - }}} - 5. Find your release here: [[https://dist.apache.org/repos/dist/dev/cordo= va/]] - = - = - =3D=3D Prepare Blog Post =3D=3D - * Combine highlights from RELEASENOTES.md into a Release Announcement bl= og post - * Instructions on [[https://svn.apache.org/repos/asf/cordova/site/READ= ME.md|sites page README]] - * Get blog post proofread. - = - =3D=3D Start VOTE Thread =3D=3D - Send an email to dev ML with: - = - Subject: = - {{{ - [Vote] Tools Release - }}} - Body: - {{{ - Please review and vote on this Tools Release. - = - Release issue: https://issues.apache.org/jira/browse/CB-XXXX - = - Both tools have been published to dist/dev: - https://dist.apache.org/repos/dist/dev/cordova/CB-XXXX/ - = - The packages were published from their corresponding git tags: - PASTE OUTPUT OF: ./cordova-coho/coho print-tags -r plugman -r cli - = - Upon a successful vote I will upload the archives to dist/, publish them = to NPM, and post the corresponding blog post. - = - Voting will go on for a minimum of 48 hours. = - = - I vote +1. - }}} - = - =3D=3D Email the result of the vote =3D=3D - * Respond to the vote thread with: - * Note: list of PMC members: http://people.apache.org/committers-by-pro= ject.html#cordova-pmc - {{{ - The vote has now closed. The results are: - = - Positive Binding Votes: (# of PMC members that +1'ed) - = - .. names of all +1 PMC members .. - = - Negative Binding Votes: (# of PMC members that -1'ed) - = - .. names of all -1 PMC members .. - = - The vote has passed. - }}} - = - =3D=3D If the Vote does *not* Pass =3D=3D - * Revert adding of `-dev` - * Address the concerns - * Re-tag release using git tag -f - * Add back `-dev` - * Start a new vote - = - =3D=3D Otherwise: Publish to dist/ =3D=3D - {{{ - cd cordova-dist - svn up - svn rm tools/* - cp ../cordova-dist-dev/$JIRA/* tools/ - svn add tools/* - svn commit -m "$JIRA Published tools release to dist" - = - cd ../cordova-dist-dev - svn up - svn rm $JIRA - svn commit -m "$JIRA Removing release candidates from dist/dev" - }}} - = - Find your release here: [[https://dist.apache.org/repos/dist/release/cord= ova/tools]] - = - =3D=3D Publish to NPM =3D=3D - {{{ - npm publish cordova-cli - npm publish plugman - }}} - = - =3D=3D Post Blog Post =3D=3D - {{{ - cd cordova-website - rake build - svn commit -m "$JIRA Published blog post for tools release." - }}} - = - = - =3D=3D Close JIRA Issue =3D=3D - * Double check that the issue has comments that record the steps you took - * Mark it as fixed - = - =3D=3D Finally: =3D=3D - = - * Update *these wiki instructions* if they were missing anything. -=20