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.CODECOV_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.New functions:
use_issue_templateRemove unnecessary Suggests:
rvestUpSetRgithubinstallBiocManagerAutomatically synchronize R and Bioc versions:
bioc_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.