On Thu, Jun 5, 2014 at 10:52 AM, Brian LeRoux <b...@brian.io> wrote:
> Pls elaborate on how we can be more efficient?

OK, the following suggestions are offered with no expectations and from
humility as a Cordova noob.

*   Avoid "retagging" during the release process.  Having the same version tag
    mean different RCs at different times destroys history and causes all
    sorts of confusion when testing, discussing, voting or performing
    post-mortem analysis.
*   Be more rigorous with the term "release candidate".  Don't call something
    a "release candidate" unless it's *immutable* and there's going to be
    a *vote* on it.
*   Utilize RC numbers to differentiate release candidates.  Each time a new
    one is created, add a new Git tag in the format `X.Y.Z-rcN`.
*   When in doubt, increment the RC number.  Skipping RC numbers is minimally
    confusing because it is safe to assume that any earlier RC has been
    withdrawn and is superseded by the later one.
*   Incorporate RC identifiers into VOTE thread subject lines.  For instance:
    `[VOTE] cordova-firefoxos 4.0.0-rc2`
*   Since votes for each platform are held independently, consider isolating
    release candidates within your dist/dev area using directory names
    incorporating the RC identifier such as
    `/dev/cordova/CB-XXXX/cordova-firefoxos-4.0.0-rc2` (which would hold the
    files `cordova-firefoxos-4.0.0.zip`, `cordova-firefoxos-4.0.0.zip.asc`,
    etc.).  The idea is that each RC directory corresponds to one and only one
    VOTE thread.
*   Only add the final `X.Y.Z` tag when the VOTE passes.

I recognize that implementing these suggestions would require both changes to
Coho and unlearning of ingrained habits.  But it seems to me that one reason
the Cordova community finds the release process so taxing is that you're
burdened by a mental model where "release candidates" are mutable.

HTH,

Marvin Humphrey

Reply via email to