run_lintr action input (default true)
which runs lintr::lint_package() and surfaces each lint as
a GitHub workflow annotation. Does not fail the workflow.run_spelling action input (default
true) which runs
spelling::spell_check_package() and surfaces each
misspelling as a GitHub workflow annotation. Does not fail the
workflow.use_workflow() now exposes matching
run_lintr and run_spelling arguments, written
into the generated workflow with: block.run_lintr and run_spelling steps now also
append a titled section to the GitHub Actions run summary
($GITHUB_STEP_SUMMARY), with per-finding details inside a
collapsed <details> block. The existing inline
workflow annotations are unchanged.testthat::skip_if_offline() to all tests whose call
stacks may reach the internet (test-check_bioc_version.R,
test-fill_description.R, test-get_authors.R,
test-get_hex.R, test-infer_biocviews.R,
test-infer_deps.R).test-construct_cont.R so that the
versions_explicit = TRUE branch (which calls
bioc_r_versions()) is also skipped when offline.curl::has_internet() so they emit an informative message
instead of erroring when offline (bioc_r_versions,
construct_runners, fill_description,
get_description, get_hex,
infer_deps, use_badges,
use_workflow).bioconductor
and rworkflows vignettes on
curl::has_internet() so vignette rebuilds degrade
gracefully when offline.curl to Suggests to support the new
offline guards in examples and vignettes.read.dcf("../DESCRIPTION", ...) with
utils::packageDescription("rworkflows", ...) so the setup
chunks no longer fail under R CMD check’s
tools::checkVignettes(), which tangles each vignette to a
.R file and sources it from a temp working directory where
../DESCRIPTION does not resolve. The same change is applied
to inst/templates/{templateR,docker}.Rmd via a
__PKG__ placeholder that
use_vignette_getstarted() /
use_vignette_docker() substitute at write time.use_vignette_getstarted() /
use_vignette_docker(): raise a clear error when
package is NULL or empty (previously they
silently produced a malformed file).conda-incubator/setup-miniconda from
@v3 to @v4. v4 upgrades the action runtime to
Node.js 24, which is supported by GitHub-hosted runners but requires
self-hosted runners on a recent actions/runner
release.actions/checkout from @v4 to
@v6 (the bundled example workflow goes from
@v3). v5 moved the runtime to Node.js 24 (requires runner
>= v2.327.1, satisfied by all GitHub-hosted runners) and v6 persists
git auth credentials to a separate .gitauth file instead of
.git/config; neither change affects this action.ncpus input to
grimbough/bioc-actions/setup-bioc@v1 (as its
Ncpus input) so non-Linux R installs use the configured
parallel job count instead of the action’s default of 3.is_gha() gates that were guarding
internet access with host-specific
skip_if_offline(host=...) calls
(bioconductor.org, github.com,
raw.githubusercontent.com, ghcr.io) so
individual tests skip when their actual remote is unreachable. This
includes the get_description Bioc-repo block, which
previously gated on is_gha() | is_rstudio() to dodge CRAN
flakiness (#65); it now skips on bioconductor.org instead.
Each skip_if_offline() is then wrapped in
if (!is_gha()) so GitHub Actions exercises the network path
regardless of the offline probe; developer machines and CRAN’s check
farm continue to skip when the named host is unreachable.
is_gha() is also retained for the
construct_conda_yml env-creation block, where the test is
genuinely GHA-only (creates and leaves a conda env behind, so should not
run on developer machines).use_workflow(template="rworkflows_static") not
generating the timeout, force_install,
run_telemetry, and free_diskspace environment
variables. (#146)as.integer() coercion to all R
options(timeout=...) calls for robustness. These were
causing download.file() to fail with
cannot download any files when the timeout was not properly
converted to a numeric value.construct_authors(): Add test case compatible for both
new and old versions of R.cache_dir to
tempdir().docker/build-push-action@v6.ncpus).CODECOV_TOKEN and ncpus to
rworkflows.yml template.actions/cache@v4 as v3 is marked for
deprecation. ## DocumentationCODECOV_TOKEN in GitHub Secrets section.actions/upload-artifact@v4 as v3 is now
deprecated. Contributed in PR #139force_install allows users to bypass cache
while installing dependencies.pandoc-citeproc) from
Dockerfile.run_telemetry allows users to disable workflow
telemetry.GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }} to all
code check steps.reticulate is installed (for
noSuggests tests in CRAN).repository: ${{ github.repository }} –>
repository: ${{ env.packageName }}testthat function
skip_if_offline.rmarkdown::html_vignette instead of
BiocStyle::html_document.devtools::test_coverage() in
the terminal) #112rworkflows package versioning with
rworkflows action Release versioning.use_vignette_docker/use_vignette_getstarted
package arg if not provided.construct_cont, as not
everyone will have rworkfows installed on the machine where
the vignette is being rendered.\itemize –> describe to avoid
CRAN check errors.gha_python_versions() within
construct_runnersminiforge_variantminiforge_versionactivate_environmentenvironment_filechannelsconstruct_conda_ymlconstruct_conda_yml and building
conda envs from the generated yamls.fill_yaml
is_defaultforce=TRUE to the
remotes::install_local steps. #86runforesight/workflow-telemetry-action step.rspm explicitly by default.construct_cont:
default_registrycheck_registrydocker_registry arg to let users choose which
registry to push to. Defaults to “ghcr.io” instead of “docker.io” so
that no additional credentials are needed.
use_workflowget_github_url_desc
free_diskspace
use_workflowuse_workflow
template arg can now be “rworkflows_static:dev” to use
the “dev” branch’s version of action.yml as a workflow
template.use_vignette_docker
infer_docker_orgno visible global function definition for internal function check_miniconda_args
check_miniconda_args was clearly defined in its
own file. The only way to fix it was copying the function into the same
one where it was called fill_yaml.echo "GITHUB_TOKEN=${{ inputs.GITHUB_TOKEN }}" >> $GITHUB_ENVrunforesight/workflow-telemetry-action step and
move to top.infer_deps
infer_deps the DESCRIPTION path directly
within the fill_description func.conda_*
setup-miniconda.use_codespace
run_vignettes.tinytex_installer,
tinytex_version, pandoc_versiontinytex R package.construct_runners
bioc is of length one, the same value
is automatically applied across all 3 OS.use_workflow
name arg into two args: name +
template, so that you can create multiple separate workflow
files using the same template.tinytex_installer,
tinytex_version, pandoc_versionsave_yamlcheck_bioc_versioncheck_r_versionconstruct_contBiocPkgTools + biocViews to
Suggests
fill_yaml
omit_if_default to omit tinytex args
from yaml.is_rstudio: new interal helper function.github_token parameter docs between
action.yml and use_workflow.BiocPkgTools/biocViews to
Suggests to compensate for issues with the CRAN server: #65fill_yaml:
template="rworkflows_static", prevent
with2 from simplifying to vector.construct_runners
rspm wasn’t getting added.get_github_url_db
docs size by rendering PNG instead of html in
depgraph vignette.get_hex and get_description
get_description
use_repos arg.@returns in
Roxygen notes.action.yml
repos
before it was defined.bibentry for CITATION.To compensate for this had to modify
test-bioc_r_versions.
use_workflow
branch to align
with Bioc’s
recent changes to their standards.get_description unit tests.construct_authors unit tests.infer_biocviews tests.codecov_graphs: Fix link with redirect.timeout arg to R package installation steps
too.AnVIL usage, as the URLs are now
deprecated and BiocManager uses the pre-compiled binaries
by default.get_description
description obj directly to any argument
returns that obj.refs at onceget_hex
output style arg to vignette functions.use_vignette_docker
port_in and port_outport_out=8900 to align with the available
Imperial Private Cloud ports (8900-9000).fill_descriptioninfer_depsinfer_biocviewsis_ghaBiocCheck in rworkflow yamls.require() calls in action.yml
quiet.use_badges
add_codecov_graphscodecov_graphsbioc_r_version:
depth and internal func
parse_versionget_hex / use_badges
add_hex is a character string, interpret it as the
hex path instead.use_badges
add_lifecycle:
badger::badge_lifecycle()biocViews: WorkflowManagementget_hex: Remove extra breaksif statements when
rworkflows_static gets saved.is_default as it is never used. Document in gist
for later use:
https://gist.github.com/bschilder/f02a5b564977f52fd665728a22c0d005use_badges:
pkg arg for explicit package
specification.get_descriptionuse_badges:
ref and pkg explicitly in relevant
functions to avoid inference.r-lib/setup-r-dependenciesr-lib/setup-tinytexgrimbough/bioc-actions/setup-bioctimeoutr-lib/setup-r-dependencies
node_modules$package-lock\.json$package\.json$no-check-CRAN arg to BiocCheck step to
allow using bioc checks for packages already on CRAN.get_hex in cases where multiple links in
DESCRIPTION URL.use_issue_templatervestUpSetRgithubinstallBiocManagerbioc_r_versionsconstruct_runnersrcmdcheck \link with
\hrefuse_badges: remove unnecessary ref
arg.has_latex
use_workflowrworkflow action.add_badges
use_readmeuse_vignette_dockeruse_vignettte_getstarted|> was introduced.badger a Importvignette field in use_vignette_*
functions.run_crancheck –> run_rcmdcheckDOCKER_ORG –> docker_orgDOCKER_USERNAME –> docker_useras_cran: separate from run_rcmdchecktag: specify action version.use_workflow(run_docker=FALSE)repositorybadgeNEWS.md file to track changes to the
package.