Howto:How the build number scheme works

From innovaphone wiki
Jump to navigation Jump to search

How the build number scheme works

Applies To

This information applies to

  • All innovaphone V6 firmware builds

More Information

Problem Detils

With version 6, we have slightly reworked our development and build numbering scheme.

This allows customers to determine a builds status based on the build number and tag.

Here is how it works.


Lines of development

There are 2 separate development lines

  • “development branch”

As the name implies, this branch is used to develop new features into the product.

Within the development branch, intermediate builds will exist which are unstable, incomplete or otherwise not recommended for general use.

Typically, beta builds are taken from the development branch.

Builds from that branch are numbered like yy-xxxxx (2 digits for the year, 5 digits for the build).

Builds are numbered sequentially

  • “hotfix branch”

This branch (which perhaps better should be called „release branch“) is used to create builds that in some way are intended to be released.

Whenever we plan to release a state of development, then the current development branch is copied into a hotfix branch and the release process continues from there.

Builds from that branch are numbered like yy-xxxxxnn (2 digits for the year, 5 digits for the base development branch the hotfix branch has been copied from and 2 digits for the build).

Builds are numbered sequentially, but only the last 2 digits will change (that is, there can only be 99 builds in a specific hotfix branch).

Builds from the same hotfix branch differ in error corrections only (although they may sometimes include new changes which could be viewed as “new features” but are considered to be “safe”, that is, do not break existing functionality)

Released builds are taken always from the hotfix branch!

Even the famous “V6 final release” build 06-6040002 was taken from a hotfix branch (which was based on the development build 06-60400).

A customer can thus quickly determine if a given build (say 06-1234507) is just a fix for his current build (say 06-1234502) or if it is a build taken from a later development stage and thus including new features (and possibly new bugs).

Customers will normally only use builds from the hotfix branch.

Build classes

There are some different classes of builds:

  • Development build

this is “just any” build from our build system.

It has not been released specifically nor has it been tested thoroughly.

Builds from the development branch are always development builds.

Builds from the hotfix branches may or may not be development builds.

You can tell a development build from the tag next to the build number in the devices info screen (home page).

It will be marked as “dvl”

  • Hotfix build

A hotfix build has undergone some procedures to assert its quality and usability.

In particular, it has been verified against a number of automated test suites and found to be compliant.

This increases the likelihood that such a build is “good”. The info screen tag looks something like “base-hotfix-n” (e.g. final-hotfix-1)

  • Service release

A service release is a special hotfix.

In particular, it is the first released hotfix build in a hotfix branch.

In other words, when a new development state is being released (by copying it into a hotfix branch, see above), then this is a service release

  • Final

A final release is a special hotfix build again.

In particular, it is the first released hotfix of a new major version (V6, V7, …). This build is commonly known as “the release”

Build availability

Hotfix builds, service releases and finals can be found on http://download.innovaphone.com.

Development builds may be published individually on http://download.innovaphone.com/published.

This only happens if a certain build is to be passed to customers for verification.

Numbering scheme for packaged products

A packaged “product” is a bundle of various builds grouped for download convenience.

Packaged products are built just as other things are and thus they have a numbering scheme they adhere to.

Only hotfix builds are packaged and although it is not a strict requirement, usually the firmware builds included in a certain package share the same build number.

The packages build number is derived from this shared build number.

Thus, if a package includes hotfix builds yy-xxxxxnn, then the product package is numbered yy-xxxxxnnii where ii may distinguish several versions of the same package (this may happen e.g. if the some components are added to the package without changing the included firmware).

Known Problems

Build numbers tend to be long.

As of the writing, the current V6 firmware product package has the number 06-604000701.


Related Articles

http://download.innovaphone.com/

http://download.innovaphone.com/published/