-1 I think this will make things worse since platform maintainers already are out of sync, I can see release archives becoming completely disjointed (Android on 2.1 while everything else is 2.0, for example). If we do this, we may as well run 8 different projects instead of one.
I don't think this will solve our issues, instead it will make them worse. On Sep 20, 2012 8:50 AM, "Jukka Zitting" <[email protected]> wrote: > Hi, > > We've gone through a couple of iterations of the release process, but > I still think that there's some room for improvement on better fitting > the Apache requirements with the way the Cordova team manages > releases. Here's one idea that I briefly discussed with Andre and Dave > when they dropped by in Basel today. > > A distinctive feature of the Cordova release process is the tagging > phase where people working on different platforms each tag the > respective repositories. Currently these tags are then used by the > release manager to put together the final release candidate. I think > we could simplify this two-step process by asking everyone who tags a > repository to also produce a release archive for that tag. With a > cordova-release.sh script like the one I've included at the end of > this message, this would be as simple as: > > $ cd incubator-cordova-android > $ cordova-release.sh 2.2.0 > > As a result you'll get a signed tag and a related signed and > checksummed release tarball: > > $ git tag -v 2.2.0 > object 11dbf05c8452d045a25a59071201b963c52c8e83 > type commit > tag 2.2.0 > tagger Jukka Zitting <[email protected]> 1348155222 +0200 > > incubator-cordova-android version 2.2.0 > gpg: Signature made Thu 20 Sep 2012 17:33:42 CEST using DSA key ID > A355A63E > gpg: Good signature from "Jukka Zitting <[email protected]>" > > $ ls *.tar.gz* > incubator-cordova-android-2.2.0.tar.gz > incubator-cordova-android-2.2.0.tar.gz.asc > incubator-cordova-android-2.2.0.tar.gz.md5 > incubator-cordova-android-2.2.0.tar.gz.sha > > You can then push the tag and upload the tarball to people.apache.org > or wherever is most convenient. Also these steps could be automated. > > The responsibilities of the release manager are then to coordinate > this effort, to collect all produced tarballs, to conduct the release > vote once all the components are tagged, and finally to make the > combined release available to the world. > > WDYT? > > BR, > > Jukka Zitting > > ---- > $ cat cordova-release.sh > #!/bin/sh > > TAG="$1" > if [ -z "$TAG" ]; then > echo "usage: cordova-release.sh x.y.z" 1>&2 > exit 1 > fi > > DIR=`git config remote.origin.url | sed -e 's/.*\/\(.*\)\.git/\1/'` > if [ -z "$DIR" ]; then > echo "error: Unable to determine the repository name." 1>&2 > exit 2 > fi > > TGZ="$DIR-$TAG.tar.gz" > if [ -e "$TGZ" ]; then > echo "error: $TGZ already exists." 1>&2 > exit 3 > fi > > set -e > git tag -s -m "$DIR version $TAG" "$TAG" > git archive --output="$TGZ" --prefix="$DIR-$TAG/" "$TAG" > gpg --armor --output "$TGZ.asc" --detach-sig "$TGZ" > gpg --print-md MD5 "$TGZ" > "$TGZ.md5" > gpg --print-md SHA512 "$TGZ" > "$TGZ.sha" > exit 0 >
