+1 to jitpack On Fri, Apr 17, 2020 at 8:50 AM Oleksandr Petrov <oleksandr.pet...@gmail.com> wrote:
> Thank you for suggestions, Jeremiah! > > I first really liked the idea of jitpack since I thought it clones > repository and builds stuff locally. However, it seems like they build on > their machines in docker container. While this is something that could be > useful in many cases, I think just using snapshots with hash would yield a > similar result. > > Another suggestion from Jeremiah was to use submodules, which could be > helpful for IDE. We can explore this in future, I just do not have capacity > at the moment to figure out how to make sure it all builds with ant to make > it work nicely for developers. > > @Nate McCall <zznat...@gmail.com> I've added some information about > deployment to readme file [1], and have also posted how to build a snapshot > [2]. I'll add information about the length of vote with a reference to this > mailing list discussion for history. > > -- Alex > > > [1] > https://github.com/apache/cassandra-in-jvm-dtest-api/blob/master/README.md > [2] > > https://github.com/apache/cassandra-in-jvm-dtest-api/commit/29d055b7cffc66a852505660930c980c185138a1 > > > On Fri, Apr 17, 2020 at 1:34 AM J. D. Jordan <jeremiah.jor...@gmail.com> > wrote: > > > I was taking with Alex on slack earlier today brainstorming ideas and two > > that might work are using a git submodule to reference the code by git > > hash, so no release needed, or using jitpack.io to be able to pull the > > jar down by git hash without doing a release. > > > > Does anyone find either of those options more appealing than 1/2/3? > > > > -Jeremiah > > > > > On Apr 16, 2020, at 6:14 PM, David Capwell <dcapw...@gmail.com> wrote: > > > > > > Not a fan of 2 or 3. For #2 there is also talk about getting rid of > the > > > jars in /lib so that would complicate things. > > > > > > I think frequent releases with snapshots per commit is good. Agree > with > > > Nate we should document this so we have something we can always point > to. > > > > > >> On Thu, Apr 16, 2020 at 2:54 PM Nate McCall <zznat...@gmail.com> > wrote: > > >> > > >> (1) sounds reasonable to me. I'd like us to document the vote cycle > and > > >> release train specifics on cassandra.a.o somewhere (developer and > > releases > > >> pages maybe?). Nothing exhaustive, just 'we do X with Y'. > > >> > > >> > > >> On Thu, Apr 16, 2020 at 11:03 PM Oleksandr Petrov < > > >> oleksandr.pet...@gmail.com> wrote: > > >> > > >>> I've posted the question on the legal-discussion mailing list, and > got > > >> some > > >>> helpful responses. > > >>> > > >>> We can't work around the vote, best we can do is make it shorter (3 > +1 > > >>> votes / 24 hours). We have several options now: > > >>> > > >>> 1. Release SNAPSHOT builds prefixed with in-jvm dtest commit SHAs and > > cut > > >>> release every week or so (release-train if you wish) > > >>> 2. Avoid using Apache repository for releases altogether, and just > push > > >>> jars to Cassandra repository > > >>> 3. Make this code "unofficial" (publish and manage outside Apache) > > >>> > > >>> I'm not a big fan of (2), since we already tried that with Python and > > >> Java > > >>> drivers, also I'm not sure about binaries in git. As regards (3), I'm > > not > > >>> sure if this makes it harder for the folks who rely on Apache legal > > >>> framework for contributions. > > >>> > > >>> Unless there are strong opinions against (1), which seems to be a > > >>> reasonable middle ground, we can do it. Please let me know if you > also > > >> have > > >>> other ideas. > > >>> > > >>> Thank you, > > >>> -- Alex > > >>> > > >>> On Wed, Apr 15, 2020 at 10:33 PM Jeremiah D Jordan < > > >> jerem...@datastax.com> > > >>> wrote: > > >>> > > >>>> I think as long as we don’t publish the artifacts to maven central > or > > >>> some > > >>>> other location that is for “anyone” we do not need a formal release. > > >> Even > > >>>> then since the artifact is only meant for use by people developing > C* > > >>> that > > >>>> might be fine. > > >>>> > > >>>> If artifacts are only for use by individuals actively participating > in > > >>> the > > >>>> development process, then no formal release is needed. See the > > >>> definition > > >>>> of “release” and “publication” found here: > > >>>> > > >>>> http://www.apache.org/legal/release-policy.html#release-definition > > >>>>> DEFINITION OF "RELEASE" < > > >>>> http://www.apache.org/legal/release-policy.html#release-definition> > > >>>>> Generically, a release is anything that is published beyond the > group > > >>>> that owns it. For an Apache project, that means any publication > > outside > > >>> the > > >>>> development community, defined as individuals actively participating > > in > > >>>> development or following the dev list. > > >>>>> > > >>>>> More narrowly, an official Apache release is one which has been > > >>> endorsed > > >>>> as an "act of the Foundation" by a PMC. > > >>>>> > > >>>>> > > >>>> > > >>>>> PUBLICATION < > > >>> http://www.apache.org/legal/release-policy.html#publication > > >>>>> > > >>>>> Projects SHALL publish official releases and SHALL NOT publish > > >>>> unreleased materials outside the development community. > > >>>>> > > >>>>> During the process of developing software and preparing a release, > > >>>> various packages are made available to the development community for > > >>>> testing purposes. Projects MUST direct outsiders towards official > > >>> releases > > >>>> rather than raw source repositories, nightly builds, snapshots, > > release > > >>>> candidates, or any other similar packages. The only people who are > > >>> supposed > > >>>> to know about such developer resources are individuals actively > > >>>> participating in development or following the dev list and thus > aware > > >> of > > >>>> the conditions placed on unreleased materials. > > >>>>> > > >>>> > > >>>> > > >>>> -Jeremiah > > >>>> > > >>>>> On Apr 15, 2020, at 3:05 PM, Nate McCall <zznat...@gmail.com> > wrote: > > >>>>> > > >>>>> Open an issue with the LEGAL jira project and ask there. > > >>>>> > > >>>>> I'm like 62% sure they will say nope. The vote process and the time > > >> for > > >>>>> such is to allow for PMC to review the release to give the ASF a > > >>>> reasonable > > >>>>> degree of assurance for indemnification. However, we might have a > > >> fair > > >>>>> degree of leeway so long as we do 'vote', it's test scope (as Mick > > >>>> pointed > > >>>>> out) and the process for such is published somewhere? > > >>>>> > > >>>>> Cheers, > > >>>>> -Nate > > >>>>> > > >>>>> On Thu, Apr 16, 2020 at 7:20 AM Oleksandr Petrov < > > >>>> oleksandr.pet...@gmail.com> > > >>>>> wrote: > > >>>>> > > >>>>>> The most important thing for the purposes of what we’re trying to > > >>>> achieve > > >>>>>> is to have a unique non overridable version. In principle, a > unique > > >>> tag > > >>>>>> with release timestamp should be enough, as long as we can > uniquely > > >>>>>> reference it. > > >>>>>> > > >>>>>> However, even then, I’d say release frequency (establishing > “base”) > > >>> for > > >>>>>> releases should be at least slightly relaxed compared to Cassandra > > >>>> itself. > > >>>>>> > > >>>>>> I will investigate whether it is possible to avoid voting for test > > >>> only > > >>>>>> dependencies, since I’d much rather have it under Apache umbrella, > > >> as > > >>> I > > >>>> was > > >>>>>> previously skeptical of a dependency that I believed shouldn’t > have > > >>> been > > >>>>>> locked under contributor’s GitHub. > > >>>>>> > > >>>>>> If test only no-vote option isn’t possible due to legal reasons, > we > > >>> can > > >>>>>> proceed with snapshot+timestamp and release-rebase with a 24h > > >>> simplified > > >>>>>> vote. > > >>>>>> > > >>>>>> Thanks, > > >>>>>> —Alex > > >>>>>> > > >>>>>> On Wed 15. Apr 2020 at 19:24, Mick Semb Wever <m...@apache.org> > > >> wrote: > > >>>>>> > > >>>>>>>> Apache release rules were made for first-class projects. I would > > >>> like > > >>>>>> to > > >>>>>>>> propose simplifying voting rules for in-jvm-dtest-api project > [1]. > > >>>>>>> > > >>>>>>> > > >>>>>>> I am not sure the PMC can simply vote away the ASF release rules > > >>> here. > > >>>>>>> But it should be possible to implement the proposal by stepping > > >> away > > >>>>>>> from what the ASF considers a release and work with "nightlies" > or > > >>>>>>> snapshots. The purpose of an "ASF release" has little value to > > >>>>>>> in-jvm-dtest-api, IIUC. > > >>>>>>> > > >>>>>>> For example you can't put artifacts into a public maven > repository > > >>>>>>> without a formal release vote. AFAIK the vote process is there > for > > >>> the > > >>>>>>> sake of the legal protections the ASF extends to all its > projects, > > >>>>>>> over any notion of technical quality of the release cut. > > >>>>>>> > > >>>>>>> And we are not supposed to be including binaries in the source > code > > >>>>>>> artifacts, at least not for anything that runtime code depends > on. > > >>>>>>> > > >>>>>>> Solutions to this could be… > > >>>>>>> - allowing snapshot versions of test scope dependencies*, > > >> downloaded > > >>>>>>> from the ASF's snapshot repository⁽¹⁾ > > >>>>>>> - making an exception for a binary if only used in test scope (i > > >>>>>>> believe this is ok), > > >>>>>>> - move in-jvm-dtest-api out of ASF (just have it as a github > > >> project, > > >>>>>>> and publish as needed to a maven repo) > > >>>>>>> > > >>>>>>> You could also keep using `mvn release:prepare` to cut the > > >> versions, > > >>>>>>> but just not deploy them to ASF's distribution channels. > > >>>>>>> > > >>>>>>> This whole area of ASF procedures is quite extensive, so i'd > > >>>>>>> definitely appreciate being correctly contradicted :-) > > >>>>>>> > > >>>>>>> My vote would be to take the approach of using the snapshot > > >>>>>>> repository. Semantic versioning has limited value here, and you > > >> would > > >>>>>>> be able to have a jenkins build push the latest in-jvm-dtest-api > > >>>>>>> artifact into the snapshot repository using a uniqueVersion so > that > > >>> it > > >>>>>>> can be referenced safely in the build.xml (avoiding having to > check > > >>>>>>> the jar file into the cassandra/lib/ folder). > > >>>>>>> > > >>>>>>> regards, > > >>>>>>> Mick > > >>>>>>> > > >>>>>>> ⁽¹⁾ https://repository.apache.org/content/groups/snapshots/ > > >>>>>>> > > >>>>>>> > > >> --------------------------------------------------------------------- > > >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org > > >>>>>>> For additional commands, e-mail: dev-h...@cassandra.apache.org > > >>>>>>> > > >>>>>>> -- > > >>>>>> alex p > > >>>>>> > > >>>> > > >>>> > > >>> > > >>> -- > > >>> alex p > > >>> > > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org > > For additional commands, e-mail: dev-h...@cassandra.apache.org > > > > > > -- > alex p > -- http://twitter.com/tjake