Hello to the community,

tl;dr - Lets publish builds, not snapshots, for repeatable CI builds, as
GEODE-8016[1]. Communicate desired artifact version via the existing
'UpdatePassingTokens' job.

I have been working on the Geode build and CI systems for a long time, and
it has irked me that the geode-examples pipeline[2] does not build and test
against the latest artifacts from the develop pipeline. Some work has been
done already to allow this via "composite" builds for local testing without
needing to publish Geode to your local Maven repository.

>From a Concourse CI perspective, composite builds are costly due to the
rebuild of the upstream artifacts. They allow repeatable builds, but only
by rebuilding those dependencies. Better would be to point to upstream
artifacts as concrete build versions. SNAPSHOT builds can and do roll
(invisibly) as new versions are published. Discrete, numbered builds do
not. Downstream consumers can use greedy version specifiers to get their
current behavior of "latest".

Gradle: 'org.apache.geode:geode-core:1.13.0+'
Maven: '<groupId>org.apache.geode</group>'
             '<artifactId>geode-core</name>'
             '<version>[1.13.0,1.14.0)</version>'

What do you all think? Discuss!
-Robert Houghton

[1] https://issues.apache.org/jira/browse/GEODE-8016
[2]
https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-examples

Reply via email to