You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwhisk.apache.org by Bertrand Delacretaz <bd...@apache.org> on 2018/09/03 12:31:43 UTC

Re: [DISCUSSION]: Proposing to use 1.12.0 as the version for all runtimes for the first-time release under Apache

Hi,

On Tue, Aug 28, 2018 at 9:46 PM David P Grove <gr...@us.ibm.com> wrote:
> ...we will very quickly have runtimes having Apache
> releases on their own cadence and the version numbers won't align with each
> other or with openwhisk core...

FWIW we have a similar problem in Apache Sling which consists of many
(like around 300) modules which are released individually and which
you have to assemble to create a Sling server application.

The way it works is based on OSGi version numbers and requirements,
where (in brief) one can say that module A version 1.0.14 requires
module B versions 2.12.42 to 2.42.27 included - expressing
dependencies based on ranges of version numbers.

I think the same can work for OpenWhisk: release each module on its
own cadence as needed, ideally use semantic versioning to express API
and other incompatible changes, and regularly update a single "master
assembly list" where you test a given set of version numbers together
and declare that as a workable setup. Testing all possible
combinations is not practical, but regularly declaring known sets of
combinations as good, based on strong automated tests, works.

I'm not much familiar with OpenWhisk internals so hopefully this makes
sense - the main thing I want to say is that keeping version numbers
in sync is painful, whereas maintaining a single list of compatible
version number ranges, that's updated from time to time, is easier.

-Bertrand

[1] https://semver.org/