-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
Packaging checklist for CRAN release
For full documentation of the steps in this checklist, see the
Apache Arrow Release Management Guide.
-
When a release candidate is created
Create a GitHub issue
entitled[R] CRAN release version X.X.Xand copy this checklist to the issue -
Confirm that all
nightly tests and nightly packaging builds are passing. -
Ensure the contents of the README is accurate
-
urlchecker::url_check() -
Prepare tweet thread highlighting new features
Make pull requests into the autobrew and
rtools-packages repositories
used by the configure script on MacOS and Windows. These pull requests will
use the release candidate as the source.
- Pull request to modify
the apache-arrow autobrew formula
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 - Pull request to modify
the apache-arrow-static autobrew formula
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 - Pull request to modify the
autobrew script
to include any additions made to
r/tools/autobrew. - Pull request to modify the
PKGBUILD script
to reflect changes in
ci/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 runsR CMD build) -
devtools::check("arrow_X.X.X.tar.gz")locally - Run reverse dependency checks
Wait for the official release...
- Release vote passed!
- Create a CRAN-release branch from the official release commit
- Pick any commits that were made to master since the release commit that
were needed to fix CRAN-related submission issues (e.g., fixed URLs, fixes
to ) - Remove badges from README.md
- Run
urlchecker::url_check()on the R directory - Bump the Version in DESCRIPTION to X.X.X
- Create a PR entitled
WIP: [R] Verify CRAN release-10.0.1-rc0. Add
a comment@github-actions crossbow submit --group rto run all R crossbow
jobs against the CRAN-specific release branch. - Regenerate arrow_X.X.X.tar.gz (i.e.,
make build)
Update autobrew and r-windows PRs to use the release instead of the
release candidate; 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 win-builder
and confirm that the check is clean- done; Neal will get an email to confirm. Failed. Resubmit after Jeroen has uploaded binaries.
- Upload the .tar.gz to MacBuilder
and confirm that the check is clean- Results will be at https://mac.r-project.org/macbuilder/results/1669915267-2fc3871d8987a385/
- Check
install.packages("arrow_X.X.X.tar.gz")on Ubuntu and ensure that the
hosted binaries are used -
devtools::check("arrow_X.X.X.tar.gz")locally one more time (for luck)
Submit!
- Upload arrow_X.X.X.tar.gz to the
CRAN submit page - Confirm the submission email
Wait for CRAN...
- Accepted!
- Tag the tip of the CRAN-specific release branch
- Add a new line to the matrix in the backwards compatability job
- Update the packaging checklist template to reflect any new realities of the
packaging process. - Wait for CRAN-hosted binaries on the
CRAN package page to reflect the
new version - Tweet!