umbraco-community / umbraco-analytics

Google Analytics for the Umbraco CMS
41 stars 31 forks source link

Implement new build naming & numbering #37

Closed Jeavon closed 9 years ago

Jeavon commented 9 years ago

This new approach to build number & naming comes from discussions and implementation I've done for Ditto. This numbering is almost SemVer2 but not quite as NuGet doesn't fully support it yet, this is the same approach as Microsoft are using for their projects.

Six digit leading zero build numbers

Build numbers suffixed with a hyphen, e.g. "1.1.0-alpha-000022"

CI builds always have a suffix, by default "alpha" but could also be "beta"

If using "beta" CI build and then want to move to RTM, can now use special "rtm" suffix, set UMBRACO_PACKAGE_PRERELEASE_SUFFIX = rtm, when you release , one build will be the released and will be successful, the other will intentionally fail to avoid a invalid CI build.

This allows this full release pattern if you want it:

version: 1.1.0.{build}
UMBRACO_PACKAGE_PRERELEASE_SUFFIX=

    CI > 1.1.0-alpha-0012
    CI > 1.1.0-alpha-0013

UMBRACO_PACKAGE_PRERELEASE_SUFFIX=alpha
APPVEYOR_REPO_BRANCH=master

    Release >1.1.0-alpha

UMBRACO_PACKAGE_PRERELEASE_SUFFIX=beta

    CI > 1.1.0-beta-0015

APPVEYOR_REPO_TAG=true

    Release > 1.1.0-beta

UMBRACO_PACKAGE_PRERELEASE_SUFFIX=rtm
APPVEYOR_REPO_BRANCH=master

(this is where a CI build would normally be created as well as the release, it would be 1.1.0-alpha-0017, but instead it will be aborted)

    Release > 1.1.0

Currently Analytics has only CI builds and releases so nothing needs to be changed.

When switching to this new numbering I would recommend that any existing NuGet packages for v1.1.0 are deleted (hidden) from the feed so that the order starts to work in Visual Studio.

warrenbuckley commented 9 years ago

Sounds good @Jeavon I may ping you skype shortly to verify I understand all of this properly

Jeavon commented 9 years ago

Sure thing, not when your on air though :)