The artifact would change from "1.13.0-SNAPSHOT" to "1.13.0-build.123".
The number after the "build" slug is auto-incremented by our CI system anyway, as the "geode-build-version" semver resource. We are actually doing *more* work in Gradle to truncate that number from the current "SNAPSHOT" value. On Mon, Apr 27, 2020 at 3:41 PM Anthony Baker <aba...@pivotal.io> wrote: > @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 > > > >