@Robert, can you show some examples of what the build number would be under this proposal? Does 1.13.0-SNAPSHOT become 1.13.0.N where N increments every build?
Seems reasonable. Since the consumers of pre-release artifacts are either a) this project or b) close related projects for integration-testing-purposes-only I’m not super worried about the ugly syntax. Anthony > On Apr 27, 2020, at 3:25 PM, Jacob Barrett <jbarr...@pivotal.io> wrote: > > 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 >