Hi, On Tue, Aug 28, 2018 at 9:46 PM David P Grove <[email protected]> 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/
