| <!DOCTYPE html> |
| <!-- Generated by pkgdown: do not edit by hand --><html lang="en-US"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Packaging Checklist for CRAN Release • Arrow R Package</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png"><link rel="icon" sizes="any" href="favicon.ico"><link rel="manifest" href="site.webmanifest"><script src="deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="deps/headroom-0.11.0/headroom.min.js"></script><script src="deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="deps/search-1.0.0/fuse.min.js"></script><script src="deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="pkgdown.js"></script><link href="extra.css" rel="stylesheet"><meta property="og:title" content="Packaging Checklist for CRAN Release"><meta property="og:image" content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png"><meta property="og:image:alt" content="Apache Arrow logo, displaying the triple chevron image adjacent to the text"><!-- Matomo --><script> |
| var _paq = window._paq = window._paq || []; |
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| /* We explicitly disable cookie tracking to avoid privacy issues */ |
| _paq.push(['disableCookies']); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="https://analytics.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '20']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script><!-- End Matomo Code --><!-- Kapa AI --><script async src="https://widget.kapa.ai/kapa-widget.bundle.js" data-website-id="9db461d5-ac77-4b3f-a5c5-75efa78339d2" data-project-name="Apache Arrow" data-project-color="#000000" data-project-logo="https://arrow.apache.org/img/arrow-logo_chevrons_white-txt_black-bg.png" data-modal-disclaimer="This is a custom LLM with access to all of [Arrow documentation](https://arrow.apache.org/docs/). If you want an R-specific answer, please mention this in your question." data-consent-required="true" data-user-analytics-cookie-enabled="false" data-consent-screen-disclaimer="By clicking "I agree, let's chat", you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."></script><!-- End Kapa AI --></head><body> |
| <a href="#main" class="visually-hidden-focusable">Skip to contents</a> |
| |
| |
| <nav class="navbar fixed-top navbar-dark navbar-expand-lg bg-black"><div class="container"> |
| |
| <a class="navbar-brand me-2" href="index.html">Arrow R Package</a> |
| |
| <span class="version"> |
| <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">22.0.0.9000</small> |
| </span> |
| |
| |
| <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> |
| <span class="navbar-toggler-icon"></span> |
| </button> |
| |
| <div id="navbar" class="collapse navbar-collapse ms-3"> |
| <ul class="navbar-nav me-auto"><li class="nav-item"><a class="nav-link" href="articles/arrow.html">Get started</a></li> |
| <li class="nav-item"><a class="nav-link" href="reference/index.html">Reference</a></li> |
| <li class="nav-item dropdown"> |
| <button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button> |
| <ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><hr class="dropdown-divider"></li> |
| <li><h6 class="dropdown-header" data-toc-skip>Using the package</h6></li> |
| <li><a class="dropdown-item" href="articles/read_write.html">Reading and writing data files</a></li> |
| <li><a class="dropdown-item" href="articles/data_wrangling.html">Data analysis with dplyr syntax</a></li> |
| <li><a class="dropdown-item" href="articles/dataset.html">Working with multi-file data sets</a></li> |
| <li><a class="dropdown-item" href="articles/python.html">Integrating Arrow, Python, and R</a></li> |
| <li><a class="dropdown-item" href="articles/fs.html">Using cloud storage (S3, GCS)</a></li> |
| <li><a class="dropdown-item" href="articles/flight.html">Connecting to a Flight server</a></li> |
| <li><hr class="dropdown-divider"></li> |
| <li><h6 class="dropdown-header" data-toc-skip>Arrow concepts</h6></li> |
| <li><a class="dropdown-item" href="articles/data_objects.html">Data objects</a></li> |
| <li><a class="dropdown-item" href="articles/data_types.html">Data types</a></li> |
| <li><a class="dropdown-item" href="articles/metadata.html">Metadata</a></li> |
| <li><hr class="dropdown-divider"></li> |
| <li><h6 class="dropdown-header" data-toc-skip>Installation</h6></li> |
| <li><a class="dropdown-item" href="articles/install.html">Installing on Linux</a></li> |
| <li><a class="dropdown-item" href="articles/install_nightly.html">Installing development versions</a></li> |
| <li><hr class="dropdown-divider"></li> |
| <li><a class="dropdown-item" href="articles/index.html">More articles...</a></li> |
| </ul></li> |
| <li class="nav-item"><a class="nav-link" href="news/index.html">Changelog</a></li> |
| </ul><form class="form-inline my-2 my-lg-0" role="search"> |
| <input type="search" class="form-control me-sm-2" aria-label="Toggle navigation" name="search-input" data-search-index="search.json" id="search-input" placeholder="" autocomplete="off"></form> |
| |
| <ul class="navbar-nav"><li class="nav-item"><a class="external-link nav-link" href="https://github.com/apache/arrow/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li> |
| </ul></div> |
| |
| |
| </div> |
| </nav><div class="container template-title-body"> |
| <div class="row"> |
| <main id="main" class="col-md-9"><div class="page-header"> |
| |
| <h1>Packaging Checklist for CRAN Release</h1> |
| <small class="dont-index">Source: <a href="https://github.com/apache/arrow/blob/main/r/PACKAGING.md" class="external-link"><code>PACKAGING.md</code></a></small> |
| </div> |
| |
| <div id="packaging-checklist-for-cran-release" class="section level1"> |
| |
| <p>For a high-level overview of the Arrow release process see the <a href="https://arrow.apache.org/docs/developers/release.html#post-release-tasks" class="external-link">Apache Arrow Release Management Guide</a>.</p> |
| <div class="section level2"> |
| <h2 id="before-the-arrow-release-candidate-is-created">Before the Arrow Release Candidate Is Created<a class="anchor" aria-label="anchor" href="#before-the-arrow-release-candidate-is-created"></a></h2> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled><a href="https://github.com/apache/arrow/issues/new/" class="external-link">Create a GitHub issue</a> entitled <code>[R] CRAN packaging checklist for version X.Y.Z</code> and copy this checklist to the issue.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Review deprecated functions to advance their deprecation status.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Evaluate the status of any failing <a href="https://s3.amazonaws.com/arrow-data/index.html" class="external-link">nightly tests and nightly packaging builds</a>. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won’t necessarily) result in a rejection from CRAN.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Check <a href="https://cran.rstudio.org/web/checks/check_results_arrow.html" class="external-link">current CRAN check results</a>.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Ensure the contents of the README are accurate and up to date.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Run <code>urlchecker::url_check()</code> on the R directory at the release candidate. commit. Ignore any errors with badges as they will be removed in the CRAN release branch.</li> |
| <li> |
| <input type="checkbox" disabled><a href="https://style.tidyverse.org/news.html#news-release" class="external-link">Polish NEWS</a> but do <strong>not</strong> update version numbers (this is done automatically later). You can find commits by, for example, <code>git log --oneline <sha of last release>..HEAD | grep "\[R\]"</code>.</li> |
| <li> |
| <input type="checkbox" disabled> |
| For major releases, prepare content for social media highlighting new features.</li> |
| </ul><p><em>Wait for the release candidate to be created.</em></p> |
| </div> |
| <div class="section level2"> |
| <h2 id="after-the-arrow-release-candidate-has-been-created">After the Arrow Release Candidate Has Been Created<a class="anchor" aria-label="anchor" href="#after-the-arrow-release-candidate-has-been-created"></a></h2> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled> |
| Create a CRAN-release branch from the release candidate commit, name the new branch <code>maint-X.Y.Z-r</code> and push to upstream.</li> |
| </ul></div> |
| <div class="section level2"> |
| <h2 id="prepare-and-check-package-that-will-be-released-to-cran">Prepare and Check Package That Will Be Released to CRAN<a class="anchor" aria-label="anchor" href="#prepare-and-check-package-that-will-be-released-to-cran"></a></h2> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled><code>git fetch upstream && git checkout maint-X.Y.Z-r && git clean -f -d</code>.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Run <code>make build</code>. This copies Arrow C++ into tools/cpp, prunes some unnecessary components, and runs <code>R CMD build</code> to generate the source tarball. Because this will install the package, you will need to ensure that the version of Arrow C++ available to the configure script is the same as the version that is vendored into the R package (e.g., you may need to unset <code>ARROW_HOME</code>).</li> |
| <li> |
| <input type="checkbox" disabled><code>devtools::check_built("arrow_X.Y.Z.tar.gz")</code> locally.</li> |
| </ul></div> |
| <div class="section level2"> |
| <h2 id="wait-for-arrow-release-vote">Wait for Arrow Release Vote<a class="anchor" aria-label="anchor" href="#wait-for-arrow-release-vote"></a></h2> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled> |
| Release vote passed</li> |
| </ul></div> |
| <div class="section level2"> |
| <h2 id="generate-r-package-to-submit-to-cran">Generate R Package to Submit to CRAN<a class="anchor" aria-label="anchor" href="#generate-r-package-to-submit-to-cran"></a></h2> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled> |
| If the release candidate commit updated, rebase the CRAN release branch on that commit.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Pick any commits that were made to main since the release commit that were needed to fix CRAN-related submission issues identified in the above steps.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Remove badges from README.md.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Run <code>urlchecker::url_check()</code> on the R directory.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Create a PR entitled <code>WIP: [R] Verify CRAN release-X.Y.Z-rcX</code>. Add a comment <code>@github-actions crossbow submit --group r</code> to run all R crossbow jobs against the CRAN-specific release branch.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Run <code>Rscript tools/update-checksums.R <libarrow version></code> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Commit the checksums: <code>git add -f tools/checksums/ && git commit -m "[CRAN] Add checksums"</code> |
| </li> |
| <li> |
| <input type="checkbox" disabled> |
| Regenerate arrow_X.Y.Z.tar.gz (i.e., <code>make build</code>). This will clean old artifacts, regenerate documentation, sync C++ files, and build the package.</li> |
| </ul></div> |
| <div class="section level2"> |
| <h2 id="check-binary-arrow-c-distributions-specific-to-the-r-package">Check Binary Arrow C++ Distributions Specific to the R Package<a class="anchor" aria-label="anchor" href="#check-binary-arrow-c-distributions-specific-to-the-r-package"></a></h2> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled> |
| Upload the .tar.gz to <a href="https://win-builder.r-project.org/upload.aspx" class="external-link">win-builder</a> (r-devel only) and confirm with Jon (who will automatically receive an email about the results) that the check is clean.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Upload the .tar.gz to <a href="https://mac.r-project.org/macbuilder/submit.html" class="external-link">macOS Builder</a> and confirm that the check is clean.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Check <code>install.packages("arrow_X.Y.Z.tar.gz")</code> on Ubuntu and ensure that the hosted binaries are used.</li> |
| <li> |
| <input type="checkbox" disabled><code>devtools::check_built("arrow_X.Y.Z.tar.gz")</code> locally one more time (for luck).</li> |
| </ul></div> |
| <div class="section level2"> |
| <h2 id="submit-package-to-cran">Submit Package to CRAN<a class="anchor" aria-label="anchor" href="#submit-package-to-cran"></a></h2> |
| <p><em>This step must be done by the current package maintainer.</em></p> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled> |
| Upload arrow_X.Y.Z.tar.gz to the <a href="https://xmpalantir.wu.ac.at/cransubmit/" class="external-link">CRAN submit page</a>.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Confirm the submission email.</li> |
| </ul></div> |
| <div class="section level2"> |
| <h2 id="wait-for-cran-to-accept-the-submission">Wait for CRAN to Accept the Submission<a class="anchor" aria-label="anchor" href="#wait-for-cran-to-accept-the-submission"></a></h2> |
| <ul class="task-list"><li> |
| <input type="checkbox" disabled> |
| CRAN has accepted the submission.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Tag the tip of the CRAN-specific release branch with <code>r-universe-release</code>; e.g. <code>git tag -f r-universe-release maint-X.Y.Z-r && git push upstream r-universe-release --force</code> |
| </li> |
| <li> |
| <input type="checkbox" disabled> |
| Add a new line to the matrix in the <a href="https://github.com/apache/arrow/blob/main/dev/tasks/r/github.linux.arrow.version.back.compat.yml" class="external-link">backwards compatability job</a>.</li> |
| <li> |
| <input type="checkbox" disabled> |
| (patch releases only) Update the package version in <code>ci/scripts/PKGBUILD</code>, <code>r/DESCRIPTION</code>, and <code>r/NEWS.md</code>.</li> |
| <li> |
| <input type="checkbox" disabled> |
| (CRAN-only releases) Rebuild news page with <code><a href="https://pkgdown.r-lib.org/reference/build_news.html" class="external-link">pkgdown::build_news()</a></code> and submit a PR to the asf-site branch of the docs site with the contents of <code>arrow/r/docs/news/index.html</code> replacing the current contents of <code>arrow-site/docs/r/news/index.html</code>.</li> |
| <li> |
| <input type="checkbox" disabled> |
| (CRAN-only releases) Bump the version number in <code>r/pkgdown/assets/versions.json</code>, and update this on the <a href="https://github.com/apache/arrow-site" class="external-link">the <code>asf-site</code> branch of the docs site</a> too..</li> |
| <li> |
| <input type="checkbox" disabled> |
| Review the packaging checklist template and update as needed.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Wait for CRAN-hosted binaries on the <a href="https://cran.r-project.org/package=arrow" class="external-link">CRAN package page</a> to reflect the new version.</li> |
| <li> |
| <input type="checkbox" disabled> |
| Post already-prepared content to social media.<ul><li>Use Bryce’s <a href="https://gist.githubusercontent.com/amoeba/4e26c064d1a0d0227cd8c2260cf0072a/raw/bc0d983152bdde4820de9074d4caee9986624bc5/new_contributors.R" class="external-link">script</a> for contributor calculation.</li> |
| </ul></li> |
| </ul></div> |
| </div> |
| |
| </main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2> |
| </nav></aside></div> |
| |
| |
| <footer><div class="pkgdown-footer-left"> |
| <p><a href="https://arrow.apache.org/docs/r/versions.html">Older versions of these docs</a></p> |
| </div> |
| |
| <div class="pkgdown-footer-right"> |
| <p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.2.0.</p> |
| </div> |
| |
| </footer></div> |
| |
| |
| |
| |
| |
| </body></html> |
| |