-
-
Notifications
You must be signed in to change notification settings - Fork 17
π Release Process
Paolo Di Lorenzo edited this page Mar 18, 2024
·
4 revisions
This is the automated release process. The steps listed here will also appear in the automatically generated pull request as checklists.
- Navigate to the
release.yamlworkflow - Select
Run workflow - Enter the version number for the release in the box (e.g. 0.7.2, 1.2.5, etc.)
- Wait for pipeline to finish
The aforementioned workflow will create a pull request with the version changes and some checklists.
- Complete all the steps in the pre-release checklist and make any changes to the pull request as needed.
- Update
cram-comments.md - Run `devtools::release()
- Perform CRAN release steps, usually received via the maintainer's email
- If CRAN requires changes, make the changes on the pull request's branch, add them to the pull request, and resubmit.
In the pull request created for the release, complete all items in the post-release checklist.
If the release goes well and all items are checked off, merge the pull request.
These are the manual steps to follow when releasing a new version of the package to CRAN:
(these steps also apply to the usmapdata package)
-
git checkout -b release/x.x.xwherex.x.xis the new version number
devtools::check_rhub()devtools::check_win_devel()
> revdepcheck::revdep_reset()> revdepcheck::revdep_check()
- Update version numbers (ubuntu, R, etc)
- Update reverse dependencies list
- Update R CMD check results
- Add any important things for CRAN to consider when reviewing the package (if necessary)
- Add explanations for WARNINGS or NOTES (if necessary)
- Ensure all release notes are included and accurate (with associated GitHub issue linked if applicable)
- Update version number
- Update version number
- Ensure description and metadata is accurate
> devtools::spell_check()- Fix any misspelled words (note some results may be false positives and can be ignored)
- Commit message should be
Prepare for x.x.x release - Push branch and open pull request
git push -u origin release/x.x.x - Ensure all GitHub Actions workflows pass
> devtools::release()- Follow all release steps
- If any issues are encountered make and commit appropriate changes and re-run
devtools::release()
After the package is accepted and published on CRAN:
-
> git tag vx.x.xwherex.x.xis the new version > git push --tags- Update
DESCRIPTIONandNEWS.mdversions tox.x.x.9999 - Add release date of latest version to
NEWS.md- Example
Released Monday, February 31, 2020.
- Example
- Commit changes with message
Prepare for next release - Merge
release/x.x.xtomaster > usethis::use_github_release()