It is unfortunate that the Maven/Gradle community hasn’t addressed this glaring 
issue with SNAPSHOT for decades now (well maybe not decades but certainly 
decade). It is also unfortunate that the Maven version coordinate is ugly. 
Aside from that I am totally onboard. Yay for reproducible builds and 
predictable downstream builds!

With SNAPSHOTS in a repo the repository automatically prunes back old builds. 
Do we have any concerns about having a plethora of builds filling up this new 
pre-release repository?

-Jake

> On Apr 27, 2020, at 3:21 PM, Robert Houghton <rhough...@pivotal.io> wrote:
> 
> 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