continuum-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brent N Atkinson (JIRA)" <>
Subject [jira] [Created] (CONTINUUM-2752) Always assign a new build number when starting a build
Date Wed, 15 Apr 2015 14:20:00 GMT
Brent N Atkinson created CONTINUUM-2752:

             Summary: Always assign a new build number when starting a build
                 Key: CONTINUUM-2752
             Project: Continuum
          Issue Type: Improvement
    Affects Versions: 1.5.0
            Reporter: Brent N Atkinson
             Fix For: 1.5.0

The way that build numbers are assigned is not intuitive and it adds unnecessary complexity
to the system. By always assigning a new build number to new builds, it becomes a simple,
intuitive and reliable identifier and complexity can be reduced.

Why it is not intuitive:

Currently, a new build number is only assigned to a build when the build outcome is successful.
This means that a build number can not be used to reference an arbitrary build: in-progress
or failed builds don't have a unique build number. While perhaps handy for conserving build
numbers, this scheme's utility for identifying builds is dubious. As an alternative, the internal
build id can be used to uniquely identify any build, but it is also not intuitive because
its domain covers all build results regardless of project. It will appear to leap past what
most people would expect to be the next build number for the project.

The reason it complicates the system:

Unsurprisingly, for the same reason it is not intuitive for humans: it is an unreliable way
of uniquely identifying builds. Every part of the system dealing with build numbers has to
account for the conditional nature of the number. This leads to branching logic wherever it
is used adding complexity. Because the build number is unknown until a build finishes, another
more reliable mode of identification is required. Also, it complicates build result handling,
particularly when using distributed build agents,  because assignment must be handled at the
end of the build and the result must identified uniquely to correctly assign it.

This message was sent by Atlassian JIRA

View raw message