Skip to content

Submit to CRAN #31

@pearsonca

Description

@pearsonca

Submit imuGAP to CRAN with a GitHub Actions-based release pipeline (coatless-actions/cran-submission is the example @pearsonca cited; treating it as the leading candidate until told otherwise). Covers prep, release CI/CD, NEWS hygiene, and Zenodo DOI minting.

Current state

  • R CMD check --as-cran passes 0 warnings (9-cell matrix on main).
  • DESCRIPTION still has roxygen2 boilerplate (Description: What the package does (one paragraph).), version 0.0.0.9000.
  • No NEWS.md, no cran-comments.md, no CITATION.cff / .zenodo.json.
  • No git tags. pkgdown site live. Zenodo tracking activated (per @pearsonca's comment above) — no DOI yet, Zenodo only mints on GitHub releases.

Work breakdown

  1. DESCRIPTION polish — real Description:, bump Version: to 0.1.0.
  2. NEWS.md (the R-ecosystem changelog convention; renders as "Changelog" in pkgdown and is the file CRAN's news check looks for) — initial # imuGAP 0.1.0 entry summarizing what shipped.
  3. cran-comments.md — first-submission notes for CRAN reviewers (this is the comment field coatless-actions POSTs to the CRAN portal).
  4. CITATION.cff — generate via cffr::cff_write(); picks up Carl + Claire's ORCIDs from Authors@R so Zenodo passes citations through to ORCID.
  5. .github/workflows/cran-submission.yaml — GitHub Actions workflow wired on release: prereleased + workflow_dispatch with a confirmation: "CONFIRM" guard, error-on: warning. Implementation defaults to coatless-actions/cran-submission unless we go custom.
  6. NEWS ↔ version sync check (per @pearsonca's question) — small workflow step asserting NEWS.md has a heading matching DESCRIPTION's Version: on release tags.
  7. Cut v0.1.0 pre-release — triggers workflow → CRAN sends maintainer confirmation email → @pearsonca clicks → review.
  8. After CRAN accepts — convert pre-release to full release (Zenodo mints DOI), add CRAN + DOI badges to README, double-check imugap-map's Remotes: ACCIDDA/imuGAP is gone (appears already absent on inspection).

Open questions for @pearsonca

  • cran-comments.md: happy for us to draft a starting template, but the reviewer-facing voice is yours to set.
  • NEWS sync check: hard-fail the release workflow if NEWS lacks the version heading, or just warn?
  • First release version: v0.1.0 (dev → first public, conventional) or v1.0.0 (signal API stability)?

Out of scope

Patch / update releases. Captured in separate issues once we're on CRAN.

Metadata

Metadata

Labels

No labels
No labels

Type

No fields configured for Task.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions