Hi Jacob,

Thanks for sharing the new R version release information!
Let's re-evaluate this after the new R version release.


Thanks,
-- 
kou

In <CAHQX8++RBosOj-LN==U4=x6xcfxrpua_qswdrzgxxqbvdt4...@mail.gmail.com>
  "Re: [DISCUSS] Split R release process" on Tue, 4 Mar 2025 11:54:58 +0100,
  Jacob Wujciak-Jens <ja...@wujciak.de> wrote:

> Hello Everyone,
> 
> We have discussed this in various locations but always came to the
> conclusion that due to the nature of the R package as bindings to
> libarrow, tracking it closely made it more convenient to stick to the
> monorepo, as Neal said.
> 
> I think given the reduced development velocity/maturity of the R
> package, now is a good time to re-evaluate. As Kou said, the R package
> already has code to manage backwards compatibility, currently with
> 15.0.2 as the minimum. So we could stop targeting libarrow-dev as the
> default version arrow-r is built against and target the latest release
> instead. Catching issues resulting from api changes would be harder
> (here our previous discussions about more detailed, informative
> versioning for libarrow comes into play) but we would also not need to
> catch up and fix things prior to (or during the R release post step as
> it often happens) the next monorepo release. And maybe the biggest
> benefit, contributing would be much less intimidating with a single
> repo only with R in it, matching what people used to R packages
> expect.
> 
> It would then also be easier to ask CRAN to install a compatible
> version, potentially making builds easier (though the need for a
> windows arm64 cross-compiled build would remain...). Though, as
> mentioned we have the compat code and it would be possible to do this
> now but a bit more decoupling would incentivise it I guess.
> 
> IIRC with 4.1 being our new minimum version, once the new R version is
> released in ~April, we might be able to retire a number of jobs and
> clean up (i.e. openssl 1 jobs as that has reached EOL).
> 
> I don't think there is a clear choice, and we could very well also do
> some of the thing in the monorepo i.e. decoupling releases and
> versioning from libarrow, But given the non-trivial amount of work
> this would be :shrug:
> 
> Jacob
> 
> 
> Am Mo., 3. März 2025 um 15:44 Uhr schrieb Antoine Pitrou <anto...@python.org>:
>>
>>
>> I agree with Neal that the decoupling is less obviously desirable on the
>> R side. About the number of R-related CI jobs, is there still a need for
>> testing so many different configurations?
>>
>>
>> Le 03/03/2025 à 15:32, Neal Richardson a écrit :
>> > Thanks for raising this, Kou. I'm personally torn on this because I see
>> > some of the upsides of splitting R out, particularly at the project's state
>> > of maturity, but it's also not as simple as Rust or Java or others we've
>> > split out in the past because of the hard dependency on the C++ libraries.
>> > It's not just about integration testing the IPC format.
>> >
>> > For better or worse, I can remember tons of instances where the R-related
>> > CI jobs have caught something in a C++ PR because they test with different
>> > compilers and toolchains. If we split the projects and all of the R CI jobs
>> > are only running on the arrow-r repo, does that mean that the R maintainers
>> > will be continually finding CI failures in the tests that build with the
>> > latest version of the C++ library and filing bug reports back for the C++
>> > project? Either way, it seems that the monorepo would want to keep some R
>> > testing jobs in crossbow to be able to validate changes, at least to be
>> > able to confirm that the PR for the issue that the R maintainers filed
>> > fixes the issue. Maybe this is the way it should be, but it's not clear
>> > that it reduces the collective maintenance burden.
>> >
>> > Just my thoughts based on the historical perspective, I'm happy to defer to
>> > the judgment of those who are currently shouldering that maintenance 
>> > burden.
>> >
>> > Neal
>> >
>> > On Sun, Mar 2, 2025 at 7:53 PM Sutou Kouhei <k...@clear-code.com> wrote:
>> >
>> >> Hi,
>> >>
>> >> This is a similar discussion to the "[DISCUSS] Split Go
>> >> release process" thread[1] and the "[DISCUSS] Split Java
>> >> release process" thread[2]:
>> >>
>> >> [1] https://lists.apache.org/thread/fstyfvzczntt9mpnd4f0b39lzb8cxlyf
>> >> [2] https://lists.apache.org/thread/b99wp2f3rjhy09sx7jqvrfqjkqn9lnyy
>> >>
>> >> We've split them and they were released from separated
>> >> repositories.
>> >>
>> >> Let's discuss the next target.
>> >>
>> >> We raised JavaScript as the next candidate in the Java
>> >> discussion[3] but we may not find one or more active release
>> >> managers for JavaScript.
>> >>
>> >> [3] https://lists.apache.org/thread/bdko84zy72nlg3k82t772f7pq6zpd0sz
>> >>
>> >> I propose R as the next candidate because:
>> >>
>> >> * We have many active committers and PMC members who can
>> >>    focus on R
>> >> * The current R release process is semi-separated
>> >>    * In general, we release R packages to CRAN by non-trivial
>> >>      release process after our monorepo release.
>> >>      e.g.: https://github.com/apache/arrow/issues/45581
>> >> * The R bindings can also work with old C++ versions
>> >>    * The R bindings don't need to align with the monorepo
>> >>      versioning. The R bindings can avoid major version up
>> >>      per 3-4 months.
>> >> * We have many R related CI jobs. If we split the R
>> >>    bindings, we can remove many CI jobs from monorepo.
>> >>
>> >>
>> >> What do you think about this?
>> >>
>> >>
>> >> Thanks,
>> >> --
>> >> kou
>> >>
>> >

Reply via email to