Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 43FB1100D8 for ; Wed, 31 Jul 2013 20:36:38 +0000 (UTC) Received: (qmail 38129 invoked by uid 500); 31 Jul 2013 20:36:38 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 38081 invoked by uid 500); 31 Jul 2013 20:36:38 -0000 Mailing-List: contact dev-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 dev@cordova.apache.org Received: (qmail 38073 invoked by uid 99); 31 Jul 2013 20:36:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 Jul 2013 20:36:38 +0000 X-ASF-Spam-Status: No, hits=2.5 required=5.0 tests=FRT_ADOBE2,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of agrieve@google.com designates 209.85.220.48 as permitted sender) Received: from [209.85.220.48] (HELO mail-pa0-f48.google.com) (209.85.220.48) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 Jul 2013 20:36:33 +0000 Received: by mail-pa0-f48.google.com with SMTP id kp13so1282359pab.7 for ; Wed, 31 Jul 2013 13:36:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=9BYcXC0TaRM/z8nvk5tZpRTqjQPPKtqyh5WLH/SpG5Q=; b=XcwlSs58tNIRPAZ4Lq4mYYdLz/gEhCaxxnCeTMqn4bFqDXifmrIjF97QpIW4cM5o+a TjCgaigaNr3vTK6+MOCm3Xo06Uy1ggHGSUlemWbic8yZ/vR5bv2gJK5JdQcqgB1xozqw nTkXoXdZPF7RVVcqtnuIka9Aojq2fn3mhYEB2OI2tgjsrPE2M03pP6uBmdXnJ/TUumsd Gf67TiLxxf6jdcEEuqvE61N2yNPtcPGPtu8f0wbnI+VyeFqemlY6WTht3i6/UCPovaNc cA5f4F6XfuYf+XHRmAh9Mm5bQihKXoPBRwJQyY2kugsNSfFvTCl4fU/fyWmuCtZiHdYm 6xQQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=9BYcXC0TaRM/z8nvk5tZpRTqjQPPKtqyh5WLH/SpG5Q=; b=PbJgLBHvVMGgOqN2QLBAVKdl0qJMandhFuVaksWruesvOd+kkFBSnzm1gZKSJZnZSY ZAEUqK/qC1erSoiFHJlSYbtN3y+adK90nZkKkBTrbL4gtLwy6Cn+ZSxAmD7Nm6Zo/5hb DuMEgIu5GmDbhGXMdzG/mR9nQwkLbrt3n3PWU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :x-gm-message-state; bh=9BYcXC0TaRM/z8nvk5tZpRTqjQPPKtqyh5WLH/SpG5Q=; b=aBEn1o8assKU/6YpE/q06yB3Y4BHcx7pTXw8JvoQZF4DU+OZQ/2bx80yWSpQezle4u NId24s+GnStSaVLO9hvtocNdeTKiG+ZD04UWdU8UaUEEYREZC52+glY+P42Eaz9852bt RrgoM/TDZ/5KvtzX+3i1w0Z3Buy8UhbZZXN2ai+jjtXXXUK+X9MV+oNmTzXJXtNq9kjF BiAfipnZrUOetWDZtn8EUJofzn2ujDTRifc9jd6OtOQQPQgPnAlKOTOs2THlrAgiaR2v hm3haz530k1Z0lURkEdIBSJYKUDXWaw+5V9ItUedn8OWtjmMAPtf+bQjuqkMoIBkDkvP LJ8g== X-Received: by 10.66.136.237 with SMTP id qd13mr135154pab.74.1375302973628; Wed, 31 Jul 2013 13:36:13 -0700 (PDT) MIME-Version: 1.0 Sender: agrieve@google.com Received: by 10.68.28.33 with HTTP; Wed, 31 Jul 2013 13:35:53 -0700 (PDT) In-Reply-To: References: From: Andrew Grieve Date: Wed, 31 Jul 2013 16:35:53 -0400 X-Google-Sender-Auth: uMLCqjJPom_e3xndOYYOFYJPzjI Message-ID: Subject: Re: Publishing to npm To: Andrew Grieve Cc: dev Content-Type: multipart/alternative; boundary=001a1133780c33caeb04e2d4adc7 X-Gm-Message-State: ALoCoQmt7MD0Ak+WmfRLmzcmPkFQRW5jDmS3cpOpl+io8OE8VrXjRq2ValZTJcFHyUflFJwC53ZqK7fx09oU1F+jWqgM5kCFsSAeAtizuVd1cFnqFCftwFFJBGXA8/YYDES8Bypqy4htVL/BaVW2S93rk7Sv0ovxaqMf6zMGMc4YMR3l7lfju4/FMEC9Eenr0c/a69WLhSTz X-Virus-Checked: Checked by ClamAV on apache.org --001a1133780c33caeb04e2d4adc7 Content-Type: text/plain; charset=ISO-8859-1 One other thing I thought of - I think most releases (even patch ones) are deserving of blog posts. I'll put it on my list tomorrow to create a wiki page on the process for writing a blog post. On Wed, Jul 31, 2013 at 4:19 PM, Andrew Grieve wrote: > Great! Sounds like we all agree to agree :) > > Fil - Sounds good for you to do the initial Release Process write-up, and > then we can ask questions / tweak if necessary afterwards. > > > > On Wed, Jul 31, 2013 at 3:53 PM, Brian LeRoux wrote: > >> That distinction is important: platforms continue monthly release >> cadence. CLI tools are continuous delivery. >> >> >> On Wed, Jul 31, 2013 at 12:43 PM, Filip Maj wrote: >> > Agree with both of you: we should be tagging the tooling. Currently we >> > follow the standard monthly release process that we apply to platforms. >> WE >> > should probably change that. >> > >> > +1 to documenting release process. I will take time to do so for cli + >> > plugman >> > >> > Email is the way to go. LEt's not mire ourselves with JIRA issues that >> > committers may or may not receive notifications for. To Anis' point, my >> > approach has been to notify interested parties on a particular >> feature/bug >> > fix on a) the specific JIRA issues and b) the list if it is a sweeping >> > change or a big feature. Sounds like we want to continue with this. >> > >> > So what shakes out here is: we need to figure out what the release >> process >> > is for things that are on a different (more continuous?) release >> schedule >> > compared to the platform implementations. >> > >> > On 7/31/13 11:54 AM, "Anis KADRI" wrote: >> > >> >>I think that is what we have been doing so far. We have been sending >> >>an email out and waiting around 24 hours to give everyone a chance to >> >>chime in. >> >> >> >>As far as process, this is how I have been doing it: >> >>- Implement a feature/patch >> >>- Write/run tests. >> >>- Push to master. >> >>- If it's a patch that fixes an issue then bump the version push it to >> >>npm. Otherwise wait for next patch to do that. >> >> >> >>Missing: I think that every time we bump a version we should also tag >> >>that version. >> >> >> >>-a >> >> >> >>On Wed, Jul 31, 2013 at 11:42 AM, Andrew Grieve >> >>wrote: >> >>> Right - yes, my goal is not to slow things down. Rather - if you go on >> >>> vacation, I'd like the releases to keep coming and not stop with there >> >>> being no instructions on how to do them (or worse - me pushing to npm >> >>> incorrectly and breaking the world). E.g. are you pushing master? or >> are >> >>> you working off of a 3.0.x release branch that's just for bugfix >> >>> cherry-picks. >> >>> >> >>> I would like to increase visibility of releases though. I know you >> often >> >>> email out when you update npm, but it's a lot of work to know what >> >>>you've >> >>> released. E.g. I know Anis is working on the registry, and in my eyes >> >>> that's not a patch version type release. But has it gone out to npm >> >>> already? Bug fixes are fine for patch releases, but new features are >> >>>not. >> >>> >> >>> I actually dislike using JIRA for releases quite a bit. Maybe an email >> >>> would suffice? I do think it would be worth emailing before releasing >> >>> though. Even if it delays things 24 hours (I agree 72 hours seems >> >>> excessive). >> >>> >> >>> The voting is not very useful for this project I don't think, but a >> >>>second >> >>> set of eyes goes a long way for sanity-checking what goes live. Maybe >> >>>the >> >>> npm process could involve getting agreement / sign-off from 2 devs? >> >>> >> >>> >> >>> >> >>> On Wed, Jul 31, 2013 at 2:29 PM, Filip Maj wrote: >> >>> >> >>>> I think Anis meant patch releases (we already create jira issues for >> >>>>minor >> >>>> releases, which come every month) >> >>>> >> >>>> On 7/31/13 11:26 AM, "Anis KADRI" wrote: >> >>>> >> >>>> >I agree with Fil. I am ok with tagging every npm release but I don't >> >>>> >think creating a Jira issue for minor point releases will be really >> >>>> >beneficial. >> >>>> > >> >>>> >On Wed, Jul 31, 2013 at 11:07 AM, Filip Maj wrote: >> >>>> >> I'd like to avoid a voting / consensus process _for EVERY RELEASE_ >> >>>>if >> >>>> >> possible. >> >>>> >> >> >>>> >> We are including the tools in our monthly releases, and that I >> >>>>think is >> >>>> >> good enough in terms of following Apache process. This way there's >> >>>>lazy >> >>>> >> consensus per minor release. >> >>>> >> >> >>>> >> Being able to publish revisions to npm and fix bugs that way has >> >>>>been a >> >>>> >> positive experience for devs as well as users. Don't know why we >> >>>>would >> >>>> >> want to change that. Quick patch releases have been great for >> >>>>building >> >>>> >> confidence in our tools within our community. >> >>>> >> >> >>>> >> Filing a JIRA issue for every patch release is super overkill and >> >>>>doing >> >>>> >> lazy consensus for that seems even worse. We've had 5 patch >> >>>>releases so >> >>>> >> far since 3.0.0. Lazy consensus requires 72 hours of email >> >>>>fermentation. >> >>>> >> So that would mean we can release a max of 10 releases per month? >> >>>> >>Doesn't >> >>>> >> make sense to me. >> >>>> >> >> >>>> >> Tagging every npm release makes a lot of sense for all of our >> tools >> >>>>/ >> >>>> >> plugins, but to be noted that we release tools/plugins differently >> >>>>than >> >>>> >> platforms, so figuring out the differences there would be a good >> >>>>idea. >> >>>> >> >> >>>> >> On 7/31/13 10:54 AM, "Andrew Grieve" >> wrote: >> >>>> >> >> >>>> >>>We're telling people to install plugman & cordova via npm, but >> we're >> >>>> >>>publishing updates to npm on a regular basis without any sort of >> >>>>release >> >>>> >>>process. True? >> >>>> >>> >> >>>> >>>Or maybe npm has a way to publish dev versions that people won't >> >>>>pick up >> >>>> >>>by >> >>>> >>>default? >> >>>> >>> >> >>>> >>>Either way, I'll start the ball rolling here: >> >>>> >>> >> >>>> >>>For a of any of our pieces (npm, plugins, platforms), I think >> it's a >> >>>> >>>must >> >>>> >>>to have a wiki page documenting the release process. We have this >> >>>>for >> >>>> >>>platforms (although it needs updating now that we're 3.0), but we >> >>>>need >> >>>> >>>this >> >>>> >>>for plugins & npm modules as well now. >> >>>> >>> >> >>>> >>>A release process should : >> >>>> >>>1 - include testing procedures to follow when releasing >> >>>> >>>2 - be detailed enough that anyone can perform the release >> >>>> >>>3 - include a JIRA release issue to track the occurrence of the >> >>>>release. >> >>>> >>>4 - include creating a git tag for the release >> >>>> >>> >> >>>> >>>Anything else? >> >>>> >>> >> >>>> >>> >> >>>> >>>All releases should also have a vote (even if it's recorded >> through >> >>>>a >> >>>> >>>JIRA >> >>>> >>>issue). This is stated in the apache rules, but also serves the >> >>>>purpose >> >>>> >>>of >> >>>> >>>making a release a team release instead of an individual release). >> >>>>I'd >> >>>> >>>like >> >>>> >>>to see a release vote happen as an email that includes: >> >>>> >>>1 - Main motivation for the release (even if it's just "time has >> >>>> >>>passed") >> >>>> >>>2 - The changelog since the previous release. >> >>>> >>> >> >>>> >>>Make sense? >> >>>> >>> >> >>>> >>>Andrew >> >>>> >> >> >>>> >> >>>> >> > >> > > --001a1133780c33caeb04e2d4adc7--