Skip to content

Package hygiene: metadata, CITATION, CI workflows, R CMD check fixes#11

Merged
JohannesRahlf merged 1 commit into
masterfrom
chore-package-hygiene-ci
Jun 10, 2026
Merged

Package hygiene: metadata, CITATION, CI workflows, R CMD check fixes#11
JohannesRahlf merged 1 commit into
masterfrom
chore-package-hygiene-ci

Conversation

@JohannesRahlf

Copy link
Copy Markdown
Member

Summary

Package-hygiene pass — no change to model behaviour. Brings R CMD check --as-cran from 3 NOTEs down to 2 (the two remaining are the benign "New submission" and a local-only "pandoc not installed" note that disappears on CI).

DESCRIPTION

  • Replace the placeholder Title: What the Package Does (Title Case) with a real title.
  • Convert Author/Maintainer to Authors@R (clears the CRAN-incoming NOTE).
  • Add URL and BugReports.
  • Expand Description and cite the paper + correction DOIs.
  • Drop LazyData: true (no-op here — coefficients live in internal R/sysdata.rda; the build already omitted it).

Code

  • hfromd.R: use inherits(result, "try-error") instead of class(result) == "try-error" (clears the "comparing class() to string" NOTE; robust against R 4.x's length-2 class()).

Packaging / docs

  • Add inst/CITATION (2023 paper + 2024 correction) so citation("taperNOR") works — verified it renders both entries.
  • Add CI: .github/workflows/R-CMD-check.yaml (linux/macOS/windows, r-lib/actions) and .github/workflows/pytest.yaml (runs the python/ suite on 3.9/3.11/3.13).
  • .Rbuildignore: exclude python/, .github/, .git/, .gitignore so they aren't bundled into the R source tarball (the python/ dir would otherwise trigger a top-level-files NOTE).
  • Fix the LICENSE stub typo: taperNO authorstaperNOR authors.

Note on the GitHub license badge

GitHub currently shows the repo license as "Other". This is because GitHub's licensee keys on the bare LICENSE file, which — per the R/CRAN MIT + file LICENSE convention — is a 2-line stub (YEAR: / COPYRIGHT HOLDER:) that licensee can't match to MIT, even though LICENSE.md is full MIT. Making GitHub display "MIT" would require putting the full licence text in LICENSE, which costs 1–2 R CMD check NOTEs. I kept the CRAN-clean stub instead (verified: 0 license NOTEs). The package is unambiguously MIT-licensed via DESCRIPTION + LICENSE.md.

Test plan

  • R CMD check --as-cran (R 4.6.0): OK, 2 NOTEs (New submission; pandoc-not-installed — both benign)
  • testthat suite passes under the check (no test ERRORs)
  • citation("taperNOR") renders both references
  • CI workflows will run on this PR once merged-eligible (first run validates them)

- DESCRIPTION: replace placeholder Title with a real one; convert
  Author/Maintainer to Authors@R; add URL and BugReports; expand
  Description with the paper DOIs; drop the no-op LazyData field.
- hfromd.R: use inherits(result, "try-error") instead of comparing
  class() to a string (clears an R CMD check NOTE; robust in R 4.x).
- Add inst/CITATION (2023 paper + 2024 correction) so
  citation("taperNOR") works.
- Add GitHub Actions workflows: R-CMD-check across linux/macos/windows
  and pytest for the python/ package.
- .Rbuildignore: exclude python/, .github/, .git/, .gitignore so they
  are not bundled into the R source tarball.

Fixes the LICENSE stub typo ("taperNO" -> "taperNOR"). R CMD check
--as-cran goes from 3 NOTEs to 2 (only the benign "New submission" and
the local "pandoc not installed" notes remain; both are expected and the
pandoc one disappears on CI). The MIT license stub is kept in the
CRAN-standard format, so GitHub still reports the license as "Other" --
an accepted trade-off to keep R CMD check clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JohannesRahlf JohannesRahlf merged commit eefbaa9 into master Jun 10, 2026
6 checks passed
@JohannesRahlf JohannesRahlf deleted the chore-package-hygiene-ci branch June 10, 2026 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant