[ 
https://issues.apache.org/jira/browse/ARROW-5686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neal Richardson updated ARROW-5686:
-----------------------------------
    Fix Version/s: 0.15.0

> [R] Review R Windows CI build
> -----------------------------
>
>                 Key: ARROW-5686
>                 URL: https://issues.apache.org/jira/browse/ARROW-5686
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: R
>            Reporter: Neal Richardson
>            Assignee: Neal Richardson
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.15.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Followup to ARROW-3758 / [https://github.com/apache/arrow/pull/4622]. In 
> that, I leveraged the tools in 
> [https://github.com/r-windows/rtools-backports] to set up CI for Arrow C++ 
> and R on Windows using Appveyor. I was guided mainly by the steps described 
> [here|https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-BuildingWindowspackages]
>  on the Arrow project wiki and iterated until I got a passing build.
> Despite getting it to "work", I'm certain I've missed some subtleties, and 
> there may be better ways to accomplish this. Some specific questions:
>  * I found that I could ignore rtools-backports/ci-library.sh and most of 
> ci-build.sh because it was oriented around building possibly many packages, 
> but there was a block of {{pacman}} stuff I did have to copy here: 
> [https://github.com/apache/arrow/pull/4622/files#diff-f4a8bedb9b0d3fe301a84914916f6d49R22].
>  I'm not sure how much these are likely to change, but if that's a concern, 
> maybe that setup could be factored out to a separate shell script in 
> rtools-backports, and the arrow CI could {{wget}} and {{source}} it like it 
> does some other resources. That way, our setup here wouldn't diverge.
>  * I did not understand what I needed to do with rtools-packages, if 
> anything. It seems that it's not used by R yet, so is it just important to 
> have the PKGBUILD in place there for when is ready? If I wanted to build both 
> rtools-backports and rtools-packages builds in the same job, is the 
> difference only [these environment 
> variables|https://github.com/r-windows/rtools-backports/blob/master/mingw-w64-arrow/PKGBUILD#L48-L52]?
>  * The process of taking the appveyor build artifacts, unzipping them, and 
> merging them into the "rwinlib" directory layout seemed loose and poorly 
> defined on the wiki, at least as I could tell. I packaged up the process (as 
> I understood it) in a [shell 
> script|https://github.com/apache/arrow/pull/4622/files#diff-c043cda9f4ed847b06efeeacf04634ee],
>  and it produced a zip file that is the right shape (right enough that R 
> could install the arrow R package with it and run tests). Does that script 
> make sense? In particular,
>  ** Is there a good way to keep around the other dependencies 
> (double-conversion, boost, thrift) from when the packages are built so that I 
> don't have to re-download them from bintray? I see that they get pulled down 
> at the beginning of each pkgbuild and then removed after, but I don't know 
> where they are put such that I could keep them around and use them later.
>  ** Is the {{lib}} directory for other dependencies (e.g. 
> libdouble-conversion.a) and {{lib-4.9.3}} for the arrow and parquet binaries 
> we build, as the wiki says? Or is {{lib}} for the Rtools4.0/gcc8 versions and 
> lib-4.9.3 for the Rtools3.5/gcc4 versions? 
>  ** libdouble-conversion.a only seems to exist in the rtools-packages 
> Rtools4.0 packages, but that nevertheless works on the R release version. 
> However, if I used the versions of boost and thrift from the Rtools4.0 
> bintrays, the R package did not build (link) correctly.
> To be clear, it is not our intention to fork or otherwise avoid the supported 
> Rtools toolchain that is maintained there; rather, we want to continuously 
> integrate arrow to avoid breaking things and make it easier to submit updates 
> to rtools-backports/packages/rwinlib when there's a new arrow release. We 
> want as much as possible to use the supported tools and workflows and are 
> willing to contribute to enhancing them, though we recognize that our needs 
> (as a big C++ library under heavy active development) are probably not shared 
> by many other projects that use rtools-packages et al.
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to