R/release-bullets.R

Defines functions release_bullets

# Extra checklist items for `usethis::use_release_issue()`.
#
# usethis finds this by name in the package namespace and appends one
# checkbox per element, after its own "Prepare for release" bullets and before
# "Submit to CRAN". Its defaults already cover the generic steps -- NEWS,
# urlchecker, build_readme, check(remote = TRUE, manual = TRUE),
# check_win_devel, revdepcheck, submit_cran, and post-acceptance
# use_github_release() / use_dev_version(). Everything below is what THIS
# package does that usethis cannot know about, reconstructed from the 2.0.8,
# 2.0.9 and 2.1.1 release cycles.
#
# NOTE on placement: usethis injects these at the END of "Prepare for release"
# and offers no hook for the "Wait for CRAN..." block. Post-acceptance steps
# therefore cannot live here -- they would read as preparation. Add these three
# by hand to the "Wait for CRAN..." block of the generated issue, under
# usethis' own `use_github_release()` / `use_dev_version()` bullets:
#
#   * the GitHub release body must be the current NEWS.md section verbatim --
#     that is this repo's convention (see the v2.0.9 and v2.1.1 releases)
#   * confirm the `Update CITATION.cff` workflow ran on main and committed the
#     refreshed CITATION.cff
#   * tell whoever is driving SpaDES.core -- it is queued behind this package
#     (reproducible -> SpaDES.tools -> SpaDES.core -> SpaDES)
#
# Not exported, and deliberately undocumented: it exists for the maintainer's
# tooling, not for users.
release_bullets <- function() {
  c(
    # -- house steps usethis does not know about ----------------------------
    "Spell check: `spelling::spell_check_package()`, then `spelling::update_wordlist()`",
    "Re-document: `devtools::document()` (check `man/` and `NAMESPACE` are clean in `git status`)",
    "Check `DESCRIPTION` has no `Remotes:` or `Additional_repositories:` left over -- both are CRAN NOTEs",
    "Bump `Date:` in `DESCRIPTION` to the submission date",
    "Confirm the no-suggests condition: `_R_CHECK_DEPENDS_ONLY_=true R CMD check`",

    # -- the check matrix this package reports in cran-comments -------------
    "win-builder: `devtools::check_win_release()` and `check_win_oldrelease()` (usethis's own checklist already lists `check_win_devel()` -- do not submit it twice)",
    "mac-builder x2: `devtools::check_mac_release()` and `devtools::check_mac_devel()`. These have failed with HTTP 502 in the past; that is a mac.r-project.org outage, not a devtools bug (r-lib/devtools#2612, closed same-day as server-side), so there is no open issue to watch -- just retry. If it is genuinely down, say so in cran-comments rather than omitting the rows",
    "Update `cran-comments.md` Test environments: one line per platform, listing the R versions checked, plus a line naming which legs ran without the suggested packages. This is the simplified form deliberately adopted for 2.1.3 -- the older grouped Previous/Current/Development table meant hand-extracting exact R-devel build strings (e.g. `R-devel (2026-06-21 r90185)`) out of the CI logs for every leg, which is not worth the effort. Give the exact devel string where you already have it and leave it plain `R-devel` where you do not",
    "Reverse dependencies: run `revdep/check.R` (revdepcheck, with the PredictiveEcology r-universe added to `repos` so the ecosystem packages resolve), then paste `revdep_report_cran()` output into `cran-comments.md`. usethis does NOT generate this bullet: it skips revdeps for a patch release, and skips them again when the package is off CRAN or has no CRAN revdeps -- both true here -- so it has to live in this list. Record the result even when it is a no-op against CRAN; say so rather than omitting the section",

    # -- branch mechanics ---------------------------------------------------
    "Merge `development` -> `main` (a merge commit, never a force-push; `main` is protected), and re-run checks on `main`"
  )
}

Try the SpaDES.tools package in your browser

Any scripts or data that you put into this service are public.

SpaDES.tools documentation built on Aug. 29, 2026, 1:07 a.m.