Created an issue:
https://issues.apache.org/jira/browse/CASSANDRA-20679

On Sun, 25 May 2025 at 12:57, Mick Semb Wever <m...@apache.org> 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 <jw...@apache.org> 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 <joe.e.ly...@gmail.com> wrote:
>>>
>>> On Fri, May 2, 2025 at 6:46 AM Mick Semb Wever <m...@apache.org> 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

Reply via email to