Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
# Login to crates.io (You need to do this only for the first time)
cargo login

# If you don't have the latest Rust, you can install it automatically by INSTALL_RUST=yes:
#  INSTALL_RUST=yes dev/release/post-07-rust.sh 0.13.0
# If you have the latest Rust, you just run the following:
#  dev/release/post-07-rust.sh 0.13.0
dev/release/post-07-rust.sh <version>

Updating CRAN packages to distribute R requires two steps:

  1. Building Window packages.
  2. Release to CRAN.

Updating CRAN packages

Building Window packages

The R Windows packages are currently built by an external system for reasons discussed in the mailing list (see https://lists.apache.org/thread.html/b7ac79f21226b2072aea1918e4eea251a995327bc7a6754aed22668e@%3Cdev.arrow.apache.org%3E).

Building the packages requires to either, request the maintainer of rwinlibs Jeroen Ooms <jeroenooms@gmail.com> to rebuild a release or to provide three PRs in rtools-packages, rtools-backports and rwinlib.

- rtools-packages: This repo contains the AppVeyor tools that automate building Windows binaries for RTools40 (next release). For an example PR see: https://github.com/r-windows/rtools-packages/pull/14. The output of the AppVeyor build produces two artifacts that you should download and decompress: 

- mingw-w64-i686-arrow-0.13.0-1-any.pkg.tar.xz: Binaries for x86 under RTools40

mingw-w64-x86_64-arrow-0.13.0-1-any.pkg.tar.xz: Binaries for x64 under RTools40

- rtools-backports: This repo contains the AppVeyor tools to automate building Windows binaries for RTools35 (current release). For an example PR see: https://github.com/r-windows/rtools-backports/pull/1. The output of the AppVeyor build produces two artifacts that your should download and decompress:

mingw-w64-i686-arrow-0.13.0-1-any.pkg.tar.xz: Binaries for x86 under RTools35

mingw-w64-x86_64-arrow-0.13.0-1-any.pkg.tar.xz: Binaries for x64 under RTools35

- rwinlib: This repo contains the binaries from merging the output from the x85/x64 builds for RTools35 and RTools40. For an example PR see: https://github.com/rwinlib/arrow/pull/1. This is the repo used by CRAN to download the precompiled libraries, instead of compiling them directly in CRAN.

Note: If the build process fails in the previous PR, send a PR or request a fix in the official Apache Arrow repo: https://github.com/apache/arrow

Release to CRAN

Releasing to CRAN is not documented here since it's already well documented in the following resource: https://cran.r-project.org/web/packages/policies.html. However, it is worth mentioning that winbuilder is a great resource to validate the Windows binaries and R package process builds currently under Windows. You can learn how to submit a package for testing in winbuilder here: https://win-builder.r-project.org/