Summary
Switch .github/workflows/manifest.yaml in workr from sparse-checking-out R sources and source()-ing every R/*.R file to installing the package via R CMD INSTALL (or pak::pkg_install) and library(workr).
Problem / Rationale
source()-ing bypasses the package NAMESPACE — anything relying on @importFrom declarations works only by accident.
- Sparse-checkout pinned to
@dev means a force-push silently changes what runs in every caller. A release tag won't help downstream until the workflow consumes it via install.
- Installing the package lets the workflow run identically against a local checkout or a tagged release.
Scope
In scope: Rewrite the Checkout workr R sources + Install R dependencies + Create manifest steps in workr/.github/workflows/manifest.yaml to install the package and library(workr) instead of source-the-files; verify nightly-manifest.yaml still runs green against ss-demo.
Out of scope: The v1.1 release (#44) — this can land first against @main via install, then #44 bumps to a tag.
Proposed Approach
- Drop the
Checkout workr R sources step (or keep without sparse-checkout: R and use as install source).
- Replace
Install R dependencies + Create manifest with a step that does R CMD INSTALL _workr (or pak::pkg_install), then library(workr); workr::pkgManifest(...).
- Trigger
nightly-manifest.yaml; confirm outputs unchanged from pre-refactor source() run on the same SHA.
QC Approach
Related
Part of the gismo.library snapshot pipeline requirement: Gilead-BioStats/gsm.roadmap#20 (Theme A)
Summary
Switch
.github/workflows/manifest.yamlinworkrfrom sparse-checking-out R sources andsource()-ing everyR/*.Rfile to installing the package viaR CMD INSTALL(orpak::pkg_install) andlibrary(workr).Problem / Rationale
source()-ing bypasses the package NAMESPACE — anything relying on@importFromdeclarations works only by accident.@devmeans a force-push silently changes what runs in every caller. A release tag won't help downstream until the workflow consumes it via install.Scope
In scope: Rewrite the
Checkout workr R sources+Install R dependencies+Create manifeststeps inworkr/.github/workflows/manifest.yamlto install the package andlibrary(workr)instead of source-the-files; verifynightly-manifest.yamlstill runs green againstss-demo.Out of scope: The v1.1 release (#44) — this can land first against
@mainvia install, then #44 bumps to a tag.Proposed Approach
Checkout workr R sourcesstep (or keep withoutsparse-checkout: Rand use as install source).Install R dependencies+Create manifestwith a step that doesR CMD INSTALL _workr(orpak::pkg_install), thenlibrary(workr); workr::pkgManifest(...).nightly-manifest.yaml; confirm outputs unchanged from pre-refactorsource()run on the same SHA.QC Approach
nightly-manifest.yamlruns green; artifacts byte-equal to asource()-based run on the same SHA)Related
Part of the
gismo.librarysnapshot pipeline requirement: Gilead-BioStats/gsm.roadmap#20 (Theme A)