Tools to make an OpenRBQM developer’s life easier including standard GitHub actions, issue and pull request templates and utility functions.
Installation
You can install the latest release of gsm.utils from GitHub with:
# install.packages("pak")
pak::pak("Gilead-BioStats/gsm.utils@*release")Package Setup Utilities
The package provides two main functions to streamline package development:
init_gsm_package()
Initializes a new extension package with standardized structure and configuration:
init_gsm_package(
strPackageDir = "path/to/new/package",
lDescriptionFields = list(),
bIncludeWorkflowDir = TRUE
)- Creates package skeleton using
usethis::create_package() - Sets up pkgdown documentation with GitHub Pages
- Configures testthat for unit testing
- Copies GitHub Actions workflows and issue templates from
inst/gha_templates
update_gsm_package()
Updates an existing GSM package with the latest standardized templates:
update_gsm_package(strPackageDir = ".")- Refreshes
.github/ISSUE_TEMPLATE/with current issue templates (Bug, Feature, Technical Task, Documentation Task) - Updates
.github/workflows/with latest GitHub Actions workflow definitions
Use this function to keep your package’s CI/CD infrastructure synchronized with the latest conventions.
GitHub Actions Workflows
The inst/gha_templates/workflows directory contains standardized GitHub Actions workflow templates for GSM packages:
R-CMD-check.yaml: Runs comprehensive R package checks on PRs tomainacross multiple platforms (macOS, Windows, Ubuntu) and R versions to ensure package integrity before release.R-CMD-check-dev.yaml: Lightweight R package check for PRs todevbranch, running on Ubuntu with current and minimum supported R versions for faster CI feedback during development.pkgdown-with-examples.yaml: Builds and deploys pkgdown documentation sites with automatic example indexing viaadd_pkgdown_examples()and example rendering viarender_examples(). Creates PR preview sites at/pr/{number}and deploys production sites to gh-pages on push tomainordev.pkgdown-cleanup.yaml: Automatically removes pkgdown PR preview directories from the gh-pages branch when pull requests are closed to keep the repository clean.r_releaser.yaml: Reusable workflow for building and attaching R package source tarballs to GitHub releases, using the A2-ai/r-releaser action with configurable options for data compression and vignette building.
Code of Conduct
Please note that the gsm.utils project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.