assignUser commented on code in PR #50499:
URL: https://github.com/apache/arrow/pull/50499#discussion_r3848204686


##########
.claude/skills/r-cran-release/SKILL.md:
##########
@@ -0,0 +1,376 @@
+# R CRAN Release
+
+Guide the R package maintainer through the CRAN release process for the Apache 
Arrow R package. Only use this skill when explicitly doing a CRAN release.
+
+Use exactly this sequence of steps. Print a checklist of all steps at the 
start, and update it as you go. Do not skip ahead. After completing each step, 
ask the user to confirm before moving on. Once confirmed, update the 
corresponding checkbox on the tracking issue. Use exactly the commands and 
approaches specified in each step — do not improvise or substitute alternatives 
without checking with the user.
+
+If any earlier step reveals something that needs to be cherry-picked into the 
release branch, note it as a comment on the tracking issue. When you reach the 
cherry-pick step later, check the tracking issue comments for anything noted 
earlier.
+
+## 1. Create GitHub Tracking Issue
+
+Ask the user for the release version number.
+
+```bash
+gh issue create --repo apache/arrow \
+  --title "[R] CRAN packaging checklist for version <VERSION>" \
+  --body "$(cat r/PACKAGING.md | sed -n '/^- \[ \]/,$p')"
+```
+
+Track the issue number - update checkboxes as you complete each step.
+
+## 2. Create CRAN Release Branch
+
+Ask the user which RC number to use (e.g., rc1, rc2), then confirm before 
creating and pushing.
+
+```bash
+git fetch upstream
+git checkout apache-arrow-<VERSION>-rc<N>
+git checkout -b maint-<VERSION>-r
+git push upstream maint-<VERSION>-r
+```
+
+All subsequent steps should be done on this branch.
+
+## 3. Remove Badges from README
+
+In `r/README.md`, delete everything between `<!-- badges: start -->` and `<!-- 
badges: end -->` (inclusive):
+
+```bash
+sed -i '/<!-- badges: start -->/,/<!-- badges: end -->/d' r/README.md
+```
+
+Commit this change to the `maint-<VERSION>-r` branch.
+
+## 4. Review Deprecated Functions
+
+Find functions using `.Deprecated()` that may need to advance (deprecated -> 
defunct/removed):
+
+```bash
+grep -rn "\.Deprecated" r/R/*.R
+```
+
+Review each match and decide if the deprecation should advance for this 
release (e.g., remove the function entirely or change to `.Defunct()`).
+
+## 5. Evaluate Nightly Build Status
+
+Ask the user to check that R nightly builds were passing around RC time. They 
can check on Zulip or at https://crossbow.arrow-dev.org/
+
+## 6. Check Current CRAN Check Results
+
+Fetch https://cran.r-project.org/web/checks/check_results_arrow.html and 
extract the check results table showing platform, version, and status. Also 
check for any "Additional issues" section.
+
+All platforms should show OK or NOTE status. NOTEs about package size (e.g., 
"installed size is 130+ Mb") are expected due to bundled Arrow C++ and can be 
ignored. Other NOTEs or any ERROR/WARN should be investigated.
+
+## 7. Ensure README is Accurate
+
+Read `r/README.md` and verify:
+- Installation instructions are current
+- Feature descriptions match current functionality
+- Version-specific notes (e.g., C++ version requirements) are correct
+- No outdated information
+
+Report any issues found.
+
+## 8. Run URL Checker
+
+Confirm on the `maint-<VERSION>-r` branch:
+
+```bash
+git branch --show-current
+```
+
+Then run:
+
+```bash
+cd r && Rscript -e 'urlchecker::url_check()'
+```
+
+All URLs should pass (badges were already removed). Fix any broken links.
+
+## 9. Polish NEWS
+
+Review `r/NEWS.md` and polish following tidyverse style (see 
https://style.tidyverse.org/news.html):
+
+- Use present tense ("X now does Y", not "X did Y")
+- Name contributors with `@username` if they're not a listed package author. 
Listed authors (do not credit): @nealrichardson, @ianmcook, @thisisnic, 
@paleolimbot, @romainfrancois, @jkeane, @brycemecum, @dragosmg, @jeroenooms, 
@assignUser
+- Use categories: "New features", "Minor improvements and fixes", 
"Installation" (if relevant)
+- Keep entries concise - match the style of previous releases
+- Only include user-facing changes - no CI updates or internal refactoring
+
+Find the previous version from NEWS.md:
+
+```bash
+grep "^# arrow" r/NEWS.md | head -5
+```
+
+Then find R commits since that version:
+
+```bash
+git log --oneline apache-arrow-<PREVIOUS_VERSION>..HEAD | grep "\[R\]"
+```
+
+Do NOT update version numbers - this is done automatically later.
+
+Open a GitHub issue for the NEWS updates, submit a PR to main from a branch on 
the fork (origin, not upstream), then cherry-pick into the `maint-<VERSION>-r` 
branch later.
+
+## 10. Cherry-pick Necessary Changes
+
+Check if there are any fixes that need to be cherry-picked into the 
`maint-<VERSION>-r` branch:
+
+1. Check the comments on the release tracking issue for any noted cherry-picks
+2. Ask if there are any other fixes merged to main after the RC
+
+Common reasons to cherry-pick:
+- Fixes for CRAN check failures identified in earlier steps
+- NEWS updates (from step 9)
+- Critical bug fixes
+
+For each PR noted, get the merge commit SHA:
+
+```bash
+gh pr view <PR_NUMBER> --repo apache/arrow --json mergeCommit,title --jq 
'{sha: .mergeCommit.oid, title: .title}'
+```
+
+Present the list of commits and ask for confirmation before cherry-picking.
+
+For each confirmed commit:
+
+```bash
+git cherry-pick <commit-sha>
+```
+
+Ask before pushing:
+
+```bash
+git push upstream maint-<VERSION>-r

Review Comment:
   +1



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to