You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/11/22 16:49:00 UTC

[GitHub] [arrow] nealrichardson commented on a diff in pull request #14678: ARROW-18345: [R] Create a CRAN-specific packaging checklist that lives in the R package directory

nealrichardson commented on code in PR #14678:
URL: https://github.com/apache/arrow/pull/14678#discussion_r1029585052


##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Windows
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS M1
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `rhub::check("arrow_X.X.X.tar.gz", platform=c("debian-gcc-patched", "fedora-clang-devel"))`
+- [ ] Run reverse dependency checks
+
+Wait for the official release...
+  
+- [ ] Wait for the release vote to pass
+- [ ] Create a CRAN-release branch (TODO: previously this branch was on
+  Neal's fork but we may want to consider a branch elsewhere)
+- [ ] Bump the Version in DESCRIPTION to X.X.X

Review Comment:
   The release prep script does this automatically, this is not a manual step. 



##########
docs/source/developers/release.rst:
##########
@@ -487,7 +487,13 @@ Be sure to go through on the following checklist:
    :class-title: sd-fs-5
    :class-container: sd-shadow-md
 
-   TODO: Move from https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages
+   The R package is distributed on the Comprehensive R Archive Network (CRAN),
+   which has an involved submission process with a number of automated and
+   manual checks. The pre- and post- release preparation for this packaging
+   is documented in the
+   `Confluence release guide <https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages>`_
+   and the
+   `packaging checklist <https://github.com/apache/arrow/blob/master/r/DESCRIPTION>`_.

Review Comment:
   Wrong link?



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Windows
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS M1
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `rhub::check("arrow_X.X.X.tar.gz", platform=c("debian-gcc-patched", "fedora-clang-devel"))`
+- [ ] Run reverse dependency checks
+
+Wait for the official release...
+  
+- [ ] Wait for the release vote to pass
+- [ ] Create a CRAN-release branch (TODO: previously this branch was on

Review Comment:
   Do this earlier because we always remove badges from README before submitting. You'll want to run urlchecker after removing badges.



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Windows
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS M1
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `rhub::check("arrow_X.X.X.tar.gz", platform=c("debian-gcc-patched", "fedora-clang-devel"))`

Review Comment:
   Unfortunately I think you have to rely on our CI for these. The rhub jobs will time out and fail.



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Windows
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS M1
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `rhub::check("arrow_X.X.X.tar.gz", platform=c("debian-gcc-patched", "fedora-clang-devel"))`
+- [ ] Run reverse dependency checks
+
+Wait for the official release...
+  
+- [ ] Wait for the release vote to pass
+- [ ] Create a CRAN-release branch (TODO: previously this branch was on
+  Neal's fork but we may want to consider a branch elsewhere)
+- [ ] Bump the Version in DESCRIPTION to X.X.X
+- [ ] Regenerate arrow_X.X.X.tar.tz (via `make release`?)

Review Comment:
   `make release` is just `make build` + `R CMD check --as-cran --run-donttest arrow_$(VERSION).tar.gz`, nothing magic, just a stricter check.



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux

Review Comment:
   Are these necessary? This isn't something we've done before. The release-verification crossbow job could do these. But we generally don't care about source builds on win/mac, and Linux is covered in regular CI.



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Windows
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS M1
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `rhub::check("arrow_X.X.X.tar.gz", platform=c("debian-gcc-patched", "fedora-clang-devel"))`
+- [ ] Run reverse dependency checks
+
+Wait for the official release...
+  
+- [ ] Wait for the release vote to pass
+- [ ] Create a CRAN-release branch (TODO: previously this branch was on
+  Neal's fork but we may want to consider a branch elsewhere)
+- [ ] Bump the Version in DESCRIPTION to X.X.X
+- [ ] Regenerate arrow_X.X.X.tar.tz (via `make release`?)
+
+Finalize and merge draft PRs/ensure linux binary packages are available:
+
+- [ ] PR into autobrew/homebrew-core
+- [ ] PR into autobrew/homebrew-core
+- [ ] PR into autobrew/scripts
+- [ ] PR into r-windows/rtools-packages
+- [ ] Ensure linux binaries are available in the artifactory:
+  https://apache.jfrog.io/ui/repos/tree/General/arrow/r
+
+Check binary Arrow C++ distributions specific to the R package:
+
+- [ ] Upload the .tar.gz to [WinBuilder](https://win-builder.r-project.org/upload.aspx)

Review Comment:
   Keeping their inconsistent naming scheme:
   
   ```suggestion
   - [ ] Upload the .tar.gz to [win-builder](https://win-builder.r-project.org/upload.aspx)
   ```



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Windows
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS M1
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `rhub::check("arrow_X.X.X.tar.gz", platform=c("debian-gcc-patched", "fedora-clang-devel"))`
+- [ ] Run reverse dependency checks
+
+Wait for the official release...
+  
+- [ ] Wait for the release vote to pass
+- [ ] Create a CRAN-release branch (TODO: previously this branch was on
+  Neal's fork but we may want to consider a branch elsewhere)
+- [ ] Bump the Version in DESCRIPTION to X.X.X
+- [ ] Regenerate arrow_X.X.X.tar.tz (via `make release`?)

Review Comment:
   ```suggestion
   - [ ] Regenerate arrow_X.X.X.tar.gz (via `make release`?)
   ```



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README
+- [ ] `urlchecker::url_check()`
+- [ ] [Polish NEWS](https://style.tidyverse.org/news.html#news-release)
+- [ ] Prepare tweet thread highlighting new features
+
+Make draft pull requests into the [autobrew](https://github.com/autobrew) and
+[rtools-packages](https://github.com/r-windows/rtools-packages) repositories
+used by the configure script on MacOS and Windows:
+
+- [ ] Open a draft pull request to modify 
+  [the apache-arrow autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow.rb) 
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb)
+- [ ] Open a draft pull request to modify
+  [the apache-arrow-static autobrew formula]( https://github.com/autobrew/homebrew-core/blob/master/Formula/apache-arrow-static.rb)
+  to update the version, SHA, and any changes to dependencies and build steps that have changed in the
+  [copy of the formula we have of that formula in the Arrow repo](https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow-static.rb)
+- [ ] Open a draft pull request to modify the 
+  [autobrew script](https://github.com/autobrew/scripts/blob/master/apache-arrow)
+  to include any additions made to
+  [r/tools/autobrew](https://github.com/apache/arrow/blob/master/r/tools/autobrew).
+- [ ] Open a draft pull request to modify the
+  [PKGBUILD script](https://github.com/r-windows/rtools-packages/blob/master/mingw-w64-arrow/PKGBUILD)
+  to reflect changes in
+  [ci/PKGBUILD](https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD),
+  uncommenting the line that says "uncomment to test the rc".
+
+Prepare and check the .tar.gz that will be released to CRAN.
+
+- [ ] `git fetch upstream && git checkout release-X.X.X-rcXX`
+- [ ] `make build` (copies Arrow C++ into tools/cpp, prunes some unnecessary
+  components, and runs `R CMD build`)
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Windows
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on MacOS M1
+- [ ] `devtools::check("arrow_X.X.X.tar.gz")` locally on Linux
+- [ ] `rhub::check("arrow_X.X.X.tar.gz", platform=c("debian-gcc-patched", "fedora-clang-devel"))`
+- [ ] Run reverse dependency checks
+
+Wait for the official release...
+  
+- [ ] Wait for the release vote to pass
+- [ ] Create a CRAN-release branch (TODO: previously this branch was on
+  Neal's fork but we may want to consider a branch elsewhere)
+- [ ] Bump the Version in DESCRIPTION to X.X.X
+- [ ] Regenerate arrow_X.X.X.tar.tz (via `make release`?)
+
+Finalize and merge draft PRs/ensure linux binary packages are available:
+
+- [ ] PR into autobrew/homebrew-core

Review Comment:
   Lately Jeroen has been merging these before the vote closes if it looks like the RC will pass. The binaries are versioned now so it is safe for him to deploy them whenever. That means you can test win-builder and macbuilder before the vote closes and include that as part of manual release verification. 
   
   If they are merged before the vote passes, you still want to follow up to switch off of the RC URL, but that can happen in a separate PR after the fact.



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,116 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).
+
+- [ ] When a release candidate is created
+  [Create a GitHub issue](https://github.com/apache/arrow/issues/new/)
+  entitled `[R] CRAN release version X.X.X` and copy this checklist to the issue
+  
+- [ ] Confirm that all
+  [nightly tests and nightly packaging builds](https://lists.apache.org/list.html?builds@arrow.apache.org) are passing.
+- [ ] Check [current CRAN check results](https://cran.rstudio.org/web/checks/check_results_arrow.html)
+- [ ] Check README

Review Comment:
   check what?



##########
r/PACKAGING.md:
##########
@@ -0,0 +1,124 @@
+
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Packaging checklist for CRAN release
+
+For full documentation of the steps in this checklist, see the
+[Apache Arrow Release Management Guide](https://cwiki.apache.org/confluence/display/ARROW/Release+Management+Guide#ReleaseManagementGuide-UpdatingRpackages).

Review Comment:
   Why maintain multiple lists? Could just move the content from the wiki to here and put a link from the wiki pointing here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org