Changelog
Source:NEWS.md
workr (development version)
Added
bContinueOnErrortoRunProject()andRunWorkflows(), so long runs can keep going after workflow failures and returnresults,status, andfailures. The default keeps the existing fail-fast behavior.RunWorkflow()now checks declared spec inputs before running steps.RunProject()now supports project-level and phase-level load/save hooks (#67).Added per-phase
_config.yaml/_config.ymlfiles forRunProject()(#64, #65, #66). A phase can choose which earlier outputs it receives and can wrap or transform its own output. Projects without config files keep the existing flat carry-forward behavior.Internal breaking change:
stop_if()now interpolates glue-style values in the caller’s environment. This fixes messages like"directory does not exist: {strPath}"so they show the actual path; callers that need literal braces should escape them as{{/}}.Made
RunProject()behavior more predictable and easier to diagnose (#63):strPathnow reports distinct errors when the path is missing or is not a directory, phase ordering is documented, and empty phase folders are skipped with a workflow log message instead of stopping the run. Added unit-test coverage for the updated ordering, validation, and empty-phase behavior.
workr 1.0.0
Initial Release
{workr} provides a minimal framework for describing and executing step-by-step R data pipelines using YAML-defined workflows.
Core Features
-
RunStep()— execute a single workflow step -
RunWorkflow()— execute a full workflow specification (YAML) -
RunWorkflows()— run multiple workflows in sequence -
RunProject()— orchestrate multi-phase workflow pipelines (experimental) -
MakeWorkflowList()— read a folder of YAML workflows into a list -
RunQuery()— execute database queries via DBI/duckdb -
loadExample()— load bundled example workflows for learning and testing
Shiny Demo App
-
DemoApp_init()— launch an interactive Shiny app for exploring and running workflows - Hosted version available at jwildfire.shinyapps.io/workr-demoapp
Package Manifests
-
pkgManifest()— resolve GitHub packages to pinned versions with manifest.csv and rproject.toml - Snapshot branches (
ss-*) for reproducible package environments - GitHub Actions for nightly manifest updates
GitHub Actions
-
manifest.yaml— reusable workflow for generating manifest artifacts -
nightly-manifest.yaml— scheduled manifest updates -
R-CMD-check.yaml— R CMD check CI -
R-CMD-check-dev.yaml— development R CMD check CI -
pkgdown-with-examples.yaml— pkgdown site deployment -
pkgdown-cleanup.yaml— pkgdown cleanup
Documentation
- pkgdown site at gilead-biostats.github.io/workr
- Vignettes covering overview, Pharmaverse integration, ADaM/SDTM examples, and visualization