thevalidatoR
thevalidatoR copied to clipboard
Github Action that generates R Package Validation documentation 🏁
thevalidatoR
- thevalidatoR
- An R Package Validation Report
- Description
- Action Type
- Author
- Inputs
- Outputs
- How to use
- Quickstart
- V1.0 Examples
- rbmi
- admiral
R Package Validation Report
Description
A Github Action that generates a validation report for an R package. The four main steps are:
- Run
R CMD check(check installation) - Run
covr::package_coverage()(check unit test coverage) - Run
covtracer(link documentation to unit tests) - Place results into report
- Attach report as object to release
Action Type
Composite
Author
Roche
Inputs
-
report_pkg_dir:Description: Path to package's root.
Required:
falseDefault:
. -
report_template_path:Description: File path of the R markdown template to use for the report. The default template is available here.
Required:
falseDefault:
./template.qmd -
no_cache:Description: Disable github action R dependency caching
Required:
falseDefault:
false -
cache_version:Description: Version of the cache. To clean cache bump this version.
Required:
falseDefault:
v1 -
disable_install_dev_deps:Description: Disable installation of dev dependencies while building the report.
Required:
falseDefault:
false
Outputs
None
How to use
To use this GitHub Action you will need to complete the following:
- Create a new file in your repository called
.github/workflows/r-pkg-validation.yml - Copy the template over (and edit if you wish to modify it)
Quickstart
In your repository you should have a .github/workflows/validatoR.yml file with GitHub Action similar to below:
---
name: R Package Validation report
on: # Run this action when a release is published
release:
types: [published]
jobs:
r-pkg-validation:
name: Create report 📃
runs-on: ubuntu-latest
container:
image: rocker/verse:4.1.1
# Set Github token permissions
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
packages: write
deployments: write
steps:
- name: Checkout repo 🛎
uses: actions/checkout@v4
- name: Build report 🏗
id: validation
uses: insightsengineering/thevalidatoR@main
# see parameters above for custom templates and other formats
# Upload the validation report to the release
- name: Upload report to release 🔼
if: success()
uses: svenstaro/upload-release-action@v2
with:
file: ${{ steps.validation.outputs.report_output_filename }}
asset_name: ${{ steps.validation.outputs.report_output_filename }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
overwrite: false
V1.0 Examples
rbmi
You can see an example report from rbmi, using the first version of this gh-action, here.
This was built as a test on a fork of the original rbmi package. When we created a release in that fork, this PDF was automatically built and added to the release as can be seen below.

And you can see the gh-action action that was triggered by the release being published. Note that it must install the package, run tests and
construct the metrics needed by cov-tracer and covr, which in the case of rbmi a computationally heavy package - took quite a while!

admiral
You can see an example report from admiral, using the first version of this gh-action, here.
