Hello everyone, https://issues.apache.org/jira/browse/CASSANDRA-21432 We've removed the golang dependency from the working tree. Please let us know if you encounter any issues and I will try to resolve them asap.
On Sun, 25 May 2025 at 23:37, Maxim Muzafarov <[email protected]> wrote: > > Created an issue: > https://issues.apache.org/jira/browse/CASSANDRA-20679 > > On Sun, 25 May 2025 at 12:57, Mick Semb Wever <[email protected]> wrote: > > > > > > Coming back to this. There is no clear path forward looking at folks' > > preferences. > > > > The docker approach sounds beneficial, but comes with a few challenges that > > haven't been addressed. We don't have docker at the ant build.xml or > > .build/*.sh level intentionally, with docker layered on at the > > .build/docker/*.sh level. We would need docker be invoked inside another > > docker command, and for jenkins this means three layers of > > docker-in-docker… and I'm not comfortable with our code check `ant check`, > > that we especially want to apply to newcomers, to become by default > > optional (just because docker isn't installed/running). Also no one has > > stepped forward to offer doing the work for a docker approach, so i think > > until it's thrashed out a bit more and with some sense of ownership we > > should exclude it as an option. > > > > My suggestion is the quick fix in option 1, while working on option 2. > > Maxim, do you want to create a jira ticket for option 2 and we can continue > > that work there. Pending objections we can start on this. > > > > > > > > On Fri, 2 May 2025 at 20:01, Jordan West <[email protected]> wrote: > >> > >> +1 to docker. It’s a relatively universal dependency at this point, allows > >> for more repeatable builds, and doesn’t require installing software in the > >> build. It’s not any more heavyweight that go or python and has less > >> environment nuances. It lets us pick what python (or go) we use among many > >> other benefits. > >> > >> +1 to skipping parts of the build w an info/warning if docker is missing. > >> We should NEVER be installing software without promoting. > >> > >> +1 to unifying generation on python. Absolutely appreciate the work done > >> by the go folks. Separate from that keeping the build simple to reason > >> about is important. > >> > >> Jordan > >> > >> On Fri, May 2, 2025 at 05:54 Joseph Lynch <[email protected]> wrote: > >>> > >>> On Fri, May 2, 2025 at 6:46 AM Mick Semb Wever <[email protected]> wrote: > >>>> > >>>> But layering in the ability to do it with docker is opposed to requiring > >>>> the use of docker. i.e. I don't think we should make docker mandatory > >>>> inside `ant check`. > >>> > >>> > >>> I think if you don't have docker it could be reasonable not to build the > >>> docs as part of ant check (the golang part of gen-doc could be skipped). > >>> Docker is fairly standard build tooling these days since it obviates the > >>> need to have the right versions of things on peoples systems (e.g. golang > >>> or python). > >>> > >>>> > >>>> There are two possible paths forward > >>>> option 1) remove the auto-install, and just print the command the user > >>>> needs to run to do the install, and/or how to skip that target. > >>>> > >>>> option 2) build on Maxim's contribution to rewrite it to > >>>> python+virtualenv+jinja > >>> > >>> > >>> I don't object to #2, but once you start talking about virtualenv and > >>> python libraries you may want to be building that via docker as well as > >>> libraries often have minimum requirements of python versions. > >>> > >>>> > >>>> With option (2) i feel it would be a shame that the original work in > >>>> https://github.com/apache/cassandra-website/tree/trunk/cqlprotodoc from > >>>> our newly joined gocql community would be redone. I can only hope they > >>>> understand and appreciate this *is* their work being carried forward, > >>>> and our legitimate reasons for the golang to python rewrite (i.e. > >>>> there's nothing against golang in the community). (I've cc'd them.) > >>>> > >>>> Otherwise, I'm entirely on the fence – all ears. Slightly leaning > >>>> towards option (1). > >>> > >>> > >>> Is there an option 3? gen-doc (specifically the part that uses golang) > >>> requires docker, and if you don't have docker that component of the docs > >>> is skipped? That seems to move towards a possible world where we could > >>> move towards just one build requirement (docker) instead of 10? If you > >>> feel strongly we should always try first with native and only ask people > >>> to use docker if their system isn't running the right versions then 1 > >>> seems better to me given we have existing functional code and the > >>> official builds would have golang available. > >>> > >>> -Joey
