gsm.utils v0.4.0
This release standardizes actions and related functionality, and solidifies this package:
- We now use the
fspackage for file manipulation (#25). - Actions have been standardized for gsm repos (#28, #31, #35, #40, #44, #45, #66, #67, #71, #73, #74, #75, #76, #77, #78, #90, #97, #106, #107, #114, #118).
- New function
build_assets()(used in the sharedpkgdown-all.yamlworkflow) automatically adds rmarkdown and quarto files inpkgdown/menus/*to the pkgdown site, with a menu for each*subfolder. Seevignette("pkgdown-assets")for details (#67, #89, #103, #108). init_gsm_package()andupdate_gsm_package()no longer install a "Requirement" issue template, and they remove Requirement issue templates from packages that already have them (#100).init_gsm_package()andupdate_gsm_package()shared underlying functionality to avoid surprises (#110).- Unused experimental functionality has been removed (#111).
What's Changed
- Main -> dev by Laura Maxwell (@lauramaxwell) in #58
- Use fs instead of base for file manipulation by Laura Maxwell (@lauramaxwell) in #60
- Safely exit
add_pkgdown-examples()if no examples exist by Laura Maxwell (@lauramaxwell) in #63 - Add test coverage GHA by Natalia Andriychuk (@nandriychuk) in #64
- Add functions and github action for checking that workflows are up to date by Laura Maxwell (@lauramaxwell) in #59
- Fix 67: Universal pkgdown by Jon Harmon (@jonthegeek) in #69
- Install local last by Jon Harmon (@jonthegeek) in #80
- Combine pkgdown workflows by Jon Harmon (@jonthegeek) in #81
- Fix 74: Implement
R-CMD-checkFederation by Jon Harmon (@jonthegeek) in #84 - Fix 76: Implement coverage federation by Jon Harmon (@jonthegeek) in #88
- Remove Requirement issue template (closes #100) by Jeremy Wildfire (@jwildfire) in #101
- Fix 103: Preserve existing menu items by Jon Harmon (@jharmon-gilead) in #104
- Fix 108: Add pkgdown-assets vignette by Jeremy Wildfire (@jwildfire) in #109
- Fix 111: Deprecate unused pieces by Jon Harmon (@jharmon-gilead) in #115
- Fix 106: Full paths to actions by Jon Harmon (@jharmon-gilead) in #123
- gsm.utils RC v0.4.0 by Jon Harmon (@jharmon-gilead) in #126
Full Changelog: v0.3.0...v0.4.0
{qcthat} Reports
Milestone
✅ A qcthat issue test matrix with 1 milestone, 9 issues, and 71 tests
└─█─Milestone: v0.4.0 (9 issues, 71 tests)
├─☑️─Bug 111: Deprecate unused functions
│ ├─✅─check_gha_version throws an informative error (#111)
│ ├─✅─create_gha_manifest throws an informative error (#111)
│ ├─✅─check_workflow_compliance throws an informative error (#111)
│ └─✅─update_workflow_version throws an informative error (#111)
├─☑️─Bug 110: `init_gsm_package()` should call `update_gsm_package()`
│ └─✅─init_gsm_package initializes a GSM package (#110)
├─☑️─Feature 106: Full paths to actions
│ ├─✅─action helpers work (#90, #106)
│ ├─✅─.workflow_url constructs URLs correctly (#106)
│ └─✅─.read_workflow_template reads from correct URL (#106)
├─☑️─Bug 103: Keep real menu items that weren't updated
│ ├─✅─add_assets_to_pkgdown_menu adds items to menu (#67, #103)
│ ├─✅─add_assets_to_pkgdown_menu preserves leftover existing menu items (#103)
│ ├─✅─update_pkgdown_menu informs when verbose (#67, #103)
│ ├─✅─update_pkgdown_menu preserves existing_menu when rendered_assets is empty (#103)
│ ├─✅─update_pkgdown_menu informs 0 new items when rendered_assets is empty but existing_menu is not (#103)
│ ├─✅─add_pkgdown_nav informs when pkgdown doesn't exist (#67, #103)
│ ├─✅─add_pkgdown_nav adds menu items to pkgdown layout (#67, #103)
│ ├─✅─add_pkgdown_nav removes menu from pkgdown layout (#67, #103)
│ ├─✅─filter_existing_menu returns list() when menu is not in yaml (#103)
│ ├─✅─filter_existing_menu returns only items whose html files still exist (#103)
│ ├─✅─add_pkgdown_nav preserves existing items that were not re-rendered (#103)
│ ├─✅─add_menu calls the expected helpers (#67, #103)
│ ├─✅─construct_menu returns existing_menu when rendered_assets is empty (#103)
│ ├─✅─construct_menu replaces title for re-rendered assets (#103)
│ └─✅─construct_menu appends leftover existing items that were not re-rendered (#103)
├─☑️─Issue 100: Remove Requirement issue template (use gsm.roadmap instead)
│ ├─✅─remove_deprecated_issue_templates informs when nothing removed and verbose (#100)
│ ├─✅─.remove_issue_template returns silently when file doesn't exist (#100)
│ ├─✅─.remove_issue_template errors when file exists but overwrite is false (#100)
│ └─✅─.remove_issue_template removes deprecated templates (#100)
├─☑️─Feature 90: Install actions from remote host
│ ├─✅─add_actions handles empty manifest (#90)
│ ├─✅─add_actions adds each action in the manifest (#90)
│ ├─✅─add_actions informs when nothing added (#90)
│ ├─✅─action helpers work (#90, #106)
│ ├─✅─.workflow_up_to_date works (#90)
│ ├─✅─add_action errors when workflow needs an update but overwrite is FALSE (#90)
│ ├─✅─add_action returns an empty vector when workflow is already up-to-date (#90)
│ ├─✅─add_action informs when verbose is TRUE (#90)
│ ├─✅─add_action updates when appropriate (#90)
│ ├─✅─remove_deprecated_actions informs when nothing removed and verbose (#90)
│ ├─✅─.remove_action returns silently when file doesn't exist (#90)
│ ├─✅─.remove_action errors when file exists but overwrite is false (#90)
│ ├─✅─.remove_action removes bad workflows (#90)
│ ├─✅─update_gsm_package errors when strPackageDir doesn't exist (#90)
│ └─✅─update_gsm_package calls the expected sub-functions (#90)
├─☑️─Bug 89: `build_assets()` does not add menu to `navbar.structure.left` when `_pkgdown.yml` has no `navbar.structure`
│ ├─✅─ensure_pkgdown_menu_section adds menu to components (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section adds menu to missing left (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section errors informatively for weird pkgdown (#67, #89)
│ └─✅─ensure_pkgdown_menu_section adds menu to left (#67, #89)
├─☑️─Technical Task 67: Reconcile pkgdown GHA
│ ├─✅─ensure_pkgdown_menu_section adds menu to components (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section adds menu to missing left (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section errors informatively for weird pkgdown (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section adds menu to left (#67, #89)
│ ├─✅─add_assets_to_pkgdown_menu adds items to menu (#67, #103)
│ ├─✅─update_pkgdown_menu informs when verbose (#67, #103)
│ ├─✅─remove_pkgdown_menu removes menu items (#67)
│ ├─✅─remove_pkgdown_menu informs when verbose (#67)
│ ├─✅─add_pkgdown_nav informs when pkgdown doesn't exist (#67, #103)
│ ├─✅─add_pkgdown_nav adds menu items to pkgdown layout (#67, #103)
│ ├─✅─add_pkgdown_nav removes menu from pkgdown layout (#67, #103)
│ ├─✅─add_menu calls the expected helpers (#67, #103)
│ ├─✅─build_assets informs when source_dir doesn't exist (#67)
│ ├─✅─build_assets calls add_menu for each subdirectory of source_dir (#67)
│ ├─✅─empty_menu_metadata_table returns an empty df with correct columns (#67)
│ ├─✅─construct_menu_metadata_table returns the expected df when menu_subdir doesn't exist (#67)
│ ├─✅─construct_menu_metadata_table returns the expected df when menu_subdir exists (#67)
│ ├─✅─construct_menu_metadata_table returns an empty df when menu_subdir is empty (#67)
│ ├─✅─construct_menu returns an empty list when rendered_assets is empty (#67)
│ ├─✅─construct_menu returns a list of menu items when rendered_assets are provided (#67)
│ ├─✅─to_title_case works with several input cases (#67)
│ ├─✅─resolve_md_title uses title if provided (#67)
│ ├─✅─resolve_md_title extracts text from HTML title (#67)
│ ├─✅─resolve_md_title falls back to title case of filename if title is empty (#67)
│ ├─✅─render_assets passes the expected variables to child functions (#67)
│ ├─✅─render_assets deals with empty returns (#67)
│ ├─✅─render_qmd_assets warns for failed renders (#67)
│ ├─✅─render_qmd_assets returns paths to rendered files (#67)
│ ├─✅─render_rmd_assets warns for failed renders (#67)
│ └─✅─render_rmd_assets returns paths to rendered files (#67)
└─☑️─Technical Task 31: Add GHAs for test coverage
├─✅─writes JSON with all required fields (#31)
├─✅─coverage_percent is numeric and within [0, 100] (#31)
├─✅─timestamp_utc matches ISO-8601 UTC format and is parseable (#31)
├─✅─defaults resolve from environment variables (#31)
├─✅─allow_fail = TRUE writes JSON with null coverage and error_message (#31)
└─✅─allow_fail = FALSE errors and does not write file (#31)
# Issue state: 📥 = open, ☑️ = closed (completed), ⛔ = closed (won't fix)
# Test disposition: ✅ = passed, ❌ = failed, 🚫 = skipped
🟢 All issues have at least one test
🙈 20 issues with label "qcthat-nocov" were ignored
Completed Issues
✅ A qcthat issue test matrix with 5 milestones, 30 issues, and 71 tests
├─█─Milestone: v0.0.1 (1 issue, 0 tests)
│ └─☑️─Technical Task 1: Develop new GH Action that attaches a tarball to each release of a gsm/gismo package
│ └─(no tests)
├─█─Milestone: v0.1.0 (2 issues, 0 tests)
│ ├─☑️─Technical Task 9: Add function to initialize a gsm extension package/repo
│ │ └─(no tests)
│ └─☑️─Technical Task 7: Write function(s) to initialize and update gsm packages
│ └─(no tests)
├─█─Milestone: v0.2.0 (13 issues, 0 tests)
│ ├─☑️─Feature 41: Add functions to update gha version in workflows and programmatically create the gha manifest json
│ │ └─(no tests)
│ ├─☑️─Technical Task 12: Add all issues to roadmap project
│ │ └─(no tests)
│ ├─☑️─Technical Task 11: Write function and github action to automate styling
│ │ └─(no tests)
│ ├─☑️─Technical Task 4: Collect standard issue templates for gsm in this repo
│ │ └─(no tests)
│ ├─☑️─Documentation Task 3: Create Github Action Vignette
│ │ └─(no tests)
│ ├─☑️─Technical Task 36: Add versioning system for GitHub Actions templates
│ │ └─(no tests)
│ ├─☑️─Technical Task 30: Remove test coverage and Air GHAs
│ │ └─(no tests)
│ ├─☑️─Bug 27: Update `add_pkgdown_examples()` to update navbar$structure
│ │ └─(no tests)
│ ├─☑️─Technical Task 21: Create standardized process for pkgdown builds
│ │ └─(no tests)
│ ├─☑️─Technical Task 19: Create updated examples framework
│ │ └─(no tests)
│ ├─☑️─Bug 17: Add pass in for PAT for private repos
│ │ └─(no tests)
│ ├─☑️─Bug 16: Unexpected releases and qualification reports are popping up across `gsm.mapping` and `gsm.kri`
│ │ └─(no tests)
│ └─☑️─Requirement 13: Automate Project Management Framework
│ └─(no tests)
├─█─Milestone: v0.3.0 (5 issues, 0 tests)
│ ├─☑️─Technical Task 55: make `render_examples()` helper function
│ │ └─(no tests)
│ ├─☑️─Technical Task 50: `pkgdown-with-examples` action should rerun and commit examples.
│ │ └─(no tests)
│ ├─☑️─Technical Task 47: Update r-releaser.yaml to trigger on release
│ │ └─(no tests)
│ ├─☑️─Technical Task 29: Update formatting rules for the _pkgdown.yml examples display name
│ │ └─(no tests)
│ └─☑️─Technical Task 20: Create Example Template and helper function
│ └─(no tests)
└─█─Milestone: v0.4.0 (9 issues, 71 tests)
├─☑️─Bug 111: Deprecate unused functions
│ ├─✅─check_gha_version throws an informative error (#111)
│ ├─✅─create_gha_manifest throws an informative error (#111)
│ ├─✅─check_workflow_compliance throws an informative error (#111)
│ └─✅─update_workflow_version throws an informative error (#111)
├─☑️─Bug 110: `init_gsm_package()` should call `update_gsm_package()`
│ └─✅─init_gsm_package initializes a GSM package (#110)
├─☑️─Feature 106: Full paths to actions
│ ├─✅─action helpers work (#90, #106)
│ ├─✅─.workflow_url constructs URLs correctly (#106)
│ └─✅─.read_workflow_template reads from correct URL (#106)
├─☑️─Bug 103: Keep real menu items that weren't updated
│ ├─✅─add_assets_to_pkgdown_menu adds items to menu (#67, #103)
│ ├─✅─add_assets_to_pkgdown_menu preserves leftover existing menu items (#103)
│ ├─✅─update_pkgdown_menu informs when verbose (#67, #103)
│ ├─✅─update_pkgdown_menu preserves existing_menu when rendered_assets is empty (#103)
│ ├─✅─update_pkgdown_menu informs 0 new items when rendered_assets is empty but existing_menu is not (#103)
│ ├─✅─add_pkgdown_nav informs when pkgdown doesn't exist (#67, #103)
│ ├─✅─add_pkgdown_nav adds menu items to pkgdown layout (#67, #103)
│ ├─✅─add_pkgdown_nav removes menu from pkgdown layout (#67, #103)
│ ├─✅─filter_existing_menu returns list() when menu is not in yaml (#103)
│ ├─✅─filter_existing_menu returns only items whose html files still exist (#103)
│ ├─✅─add_pkgdown_nav preserves existing items that were not re-rendered (#103)
│ ├─✅─add_menu calls the expected helpers (#67, #103)
│ ├─✅─construct_menu returns existing_menu when rendered_assets is empty (#103)
│ ├─✅─construct_menu replaces title for re-rendered assets (#103)
│ └─✅─construct_menu appends leftover existing items that were not re-rendered (#103)
├─☑️─Issue 100: Remove Requirement issue template (use gsm.roadmap instead)
│ ├─✅─remove_deprecated_issue_templates informs when nothing removed and verbose (#100)
│ ├─✅─.remove_issue_template returns silently when file doesn't exist (#100)
│ ├─✅─.remove_issue_template errors when file exists but overwrite is false (#100)
│ └─✅─.remove_issue_template removes deprecated templates (#100)
├─☑️─Feature 90: Install actions from remote host
│ ├─✅─add_actions handles empty manifest (#90)
│ ├─✅─add_actions adds each action in the manifest (#90)
│ ├─✅─add_actions informs when nothing added (#90)
│ ├─✅─action helpers work (#90, #106)
│ ├─✅─.workflow_up_to_date works (#90)
│ ├─✅─add_action errors when workflow needs an update but overwrite is FALSE (#90)
│ ├─✅─add_action returns an empty vector when workflow is already up-to-date (#90)
│ ├─✅─add_action informs when verbose is TRUE (#90)
│ ├─✅─add_action updates when appropriate (#90)
│ ├─✅─remove_deprecated_actions informs when nothing removed and verbose (#90)
│ ├─✅─.remove_action returns silently when file doesn't exist (#90)
│ ├─✅─.remove_action errors when file exists but overwrite is false (#90)
│ ├─✅─.remove_action removes bad workflows (#90)
│ ├─✅─update_gsm_package errors when strPackageDir doesn't exist (#90)
│ └─✅─update_gsm_package calls the expected sub-functions (#90)
├─☑️─Bug 89: `build_assets()` does not add menu to `navbar.structure.left` when `_pkgdown.yml` has no `navbar.structure`
│ ├─✅─ensure_pkgdown_menu_section adds menu to components (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section adds menu to missing left (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section errors informatively for weird pkgdown (#67, #89)
│ └─✅─ensure_pkgdown_menu_section adds menu to left (#67, #89)
├─☑️─Technical Task 67: Reconcile pkgdown GHA
│ ├─✅─ensure_pkgdown_menu_section adds menu to components (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section adds menu to missing left (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section errors informatively for weird pkgdown (#67, #89)
│ ├─✅─ensure_pkgdown_menu_section adds menu to left (#67, #89)
│ ├─✅─add_assets_to_pkgdown_menu adds items to menu (#67, #103)
│ ├─✅─update_pkgdown_menu informs when verbose (#67, #103)
│ ├─✅─remove_pkgdown_menu removes menu items (#67)
│ ├─✅─remove_pkgdown_menu informs when verbose (#67)
│ ├─✅─add_pkgdown_nav informs when pkgdown doesn't exist (#67, #103)
│ ├─✅─add_pkgdown_nav adds menu items to pkgdown layout (#67, #103)
│ ├─✅─add_pkgdown_nav removes menu from pkgdown layout (#67, #103)
│ ├─✅─add_menu calls the expected helpers (#67, #103)
│ ├─✅─build_assets informs when source_dir doesn't exist (#67)
│ ├─✅─build_assets calls add_menu for each subdirectory of source_dir (#67)
│ ├─✅─empty_menu_metadata_table returns an empty df with correct columns (#67)
│ ├─✅─construct_menu_metadata_table returns the expected df when menu_subdir doesn't exist (#67)
│ ├─✅─construct_menu_metadata_table returns the expected df when menu_subdir exists (#67)
│ ├─✅─construct_menu_metadata_table returns an empty df when menu_subdir is empty (#67)
│ ├─✅─construct_menu returns an empty list when rendered_assets is empty (#67)
│ ├─✅─construct_menu returns a list of menu items when rendered_assets are provided (#67)
│ ├─✅─to_title_case works with several input cases (#67)
│ ├─✅─resolve_md_title uses title if provided (#67)
│ ├─✅─resolve_md_title extracts text from HTML title (#67)
│ ├─✅─resolve_md_title falls back to title case of filename if title is empty (#67)
│ ├─✅─render_assets passes the expected variables to child functions (#67)
│ ├─✅─render_assets deals with empty returns (#67)
│ ├─✅─render_qmd_assets warns for failed renders (#67)
│ ├─✅─render_qmd_assets returns paths to rendered files (#67)
│ ├─✅─render_rmd_assets warns for failed renders (#67)
│ └─✅─render_rmd_assets returns paths to rendered files (#67)
└─☑️─Technical Task 31: Add GHAs for test coverage
├─✅─writes JSON with all required fields (#31)
├─✅─coverage_percent is numeric and within [0, 100] (#31)
├─✅─timestamp_utc matches ISO-8601 UTC format and is parseable (#31)
├─✅─defaults resolve from environment variables (#31)
├─✅─allow_fail = TRUE writes JSON with null coverage and error_message (#31)
└─✅─allow_fail = FALSE errors and does not write file (#31)
# Issue state: 📥 = open, ☑️ = closed (completed), ⛔ = closed (won't fix)
# Test disposition: ✅ = passed, ❌ = failed, 🚫 = skipped
⭕ 21 issues lack tests
🙈 19 issues with label "qcthat-nocov" were ignored
This report was generated by this GitHub Actions run.
Last updated: 2026-05-28 16:57:37 UTC
Session Info
─ Session info ───────────────────────────────────────────────────────────────setting value
version R version 4.6.0 (2026-04-24)
os Ubuntu 24.04.4 LTS
system x86_64, linux-gnu
ui X11
language (EN)
collate C.UTF-8
ctype C.UTF-8
tz UTC
date 2026-05-28
pandoc 3.8.3 @ /opt/hostedtoolcache/pandoc/3.8.3/x64/pandoc
quarto NA
─ Packages ───────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
askpass 1.2.1 2024-10-04 [1] RSPM
astgrepr 0.1.1 2025-06-07 [1] RSPM
backports 1.5.1 2026-04-03 [1] RSPM
base * 4.6.0 2026-04-24 [3] local
base64enc 0.1-6 2026-02-02 [1] RSPM
boot 1.3-32 2025-08-29 [3] CRAN (R 4.6.0)
brio 1.1.5 2024-04-24 [1] RSPM
bslib 0.11.0 2026-05-16 [1] RSPM
cachem 1.1.0 2024-05-16 [1] RSPM
callr 3.7.6 2024-03-25 [1] RSPM
checkmate 2.3.4 2026-02-03 [1] RSPM
class 7.3-23 2025-01-01 [3] CRAN (R 4.6.0)
cli 3.6.6 2026-04-09 [1] RSPM
clipr 0.8.1 2026-05-25 [1] RSPM
cluster 2.1.8.2 2026-02-05 [3] CRAN (R 4.6.0)
codetools 0.2-20 2024-03-31 [3] CRAN (R 4.6.0)
compiler 4.6.0 2026-04-24 [3] local
covr 3.6.5 2025-11-09 [1] RSPM
crayon 1.5.3 2024-06-20 [1] RSPM
credentials 2.0.3 2025-09-12 [1] RSPM
curl 7.1.0 2026-04-22 [1] RSPM
datasets * 4.6.0 2026-04-24 [3] local
desc 1.4.3 2023-12-10 [1] RSPM
diffobj 0.3.6 2025-04-21 [1] RSPM
digest 0.6.39 2025-11-19 [1] RSPM
downlit 0.4.5 2025-11-14 [1] RSPM
dplyr 1.2.1 2026-04-03 [1] RSPM
emoji 16.0.0 2024-10-28 [1] RSPM
evaluate 1.0.5 2025-08-27 [1] RSPM
fansi 1.0.7 2025-11-19 [1] RSPM
fastmap 1.2.0 2024-05-15 [1] RSPM
fontawesome 0.5.3 2024-11-16 [1] RSPM
foreign 0.8-91 2026-01-29 [3] CRAN (R 4.6.0)
fs 2.1.0 2026-04-18 [1] RSPM
generics 0.1.4 2025-05-09 [1] RSPM
gert 2.3.1 2026-01-11 [1] RSPM
gh 1.5.0 2025-05-26 [1] RSPM
git2r 0.36.2 2025-03-29 [1] RSPM
gitcreds 0.1.2 2022-09-08 [1] RSPM
glue 1.8.1 2026-04-17 [1] RSPM
graphics * 4.6.0 2026-04-24 [3] local
grDevices * 4.6.0 2026-04-24 [3] local
grid 4.6.0 2026-04-24 [3] local
gsm.utils 0.4.0 2026-05-28 [1] local
highr 0.12 2026-03-06 [1] RSPM
htmltools 0.5.9 2025-12-04 [1] RSPM
httr 1.4.8 2026-02-13 [1] RSPM
httr2 1.2.2 2025-12-08 [1] RSPM
ini 0.3.1 2018-05-20 [1] RSPM
jquerylib 0.1.4 2021-04-26 [1] RSPM
jsonlite 2.0.0 2025-03-27 [1] RSPM
KernSmooth 2.23-26 2025-01-01 [3] CRAN (R 4.6.0)
knitr 1.51 2025-12-20 [1] RSPM
later 1.4.8 2026-03-05 [1] RSPM
lattice 0.22-9 2026-02-09 [3] CRAN (R 4.6.0)
lifecycle 1.0.5 2026-01-08 [1] RSPM
magrittr 2.0.5 2026-04-04 [1] RSPM
MASS 7.3-65 2025-02-28 [3] CRAN (R 4.6.0)
Matrix 1.7-5 2026-03-21 [3] CRAN (R 4.6.0)
memoise 2.0.1 2021-11-26 [1] RSPM
methods * 4.6.0 2026-04-24 [3] local
mgcv 1.9-4 2025-11-07 [3] CRAN (R 4.6.0)
mime 0.13 2025-03-17 [1] RSPM
nlme 3.1-169 2026-03-27 [3] CRAN (R 4.6.0)
nnet 7.3-20 2025-01-01 [3] CRAN (R 4.6.0)
openssl 2.4.1 2026-05-14 [1] RSPM
pak 0.9.5 2026-04-27 [2] local
parallel 4.6.0 2026-04-24 [3] local
pillar 1.11.1 2025-09-17 [1] RSPM
pkgbuild 1.4.8 2025-05-26 [1] RSPM
pkgconfig 2.0.3 2019-09-22 [1] RSPM
pkgdown 2.2.0 2025-11-06 [1] RSPM
pkgload 1.5.2 2026-04-22 [1] RSPM
praise 1.0.0 2015-08-11 [1] RSPM
prettyunits 1.2.0 2023-09-24 [1] RSPM
processx 3.9.0 2026-04-22 [1] RSPM
ps 1.9.3 2026-04-20 [1] RSPM
purrr 1.2.2 2026-04-10 [1] RSPM
qcthat 1.1.2 2026-05-28 [1] Github (Gilead-Public/qcthat@d0958dc)
quarto 1.5.1 2025-09-04 [1] RSPM
R6 2.6.1 2025-02-15 [1] RSPM
ragg 1.5.2 2026-03-23 [1] RSPM
rappdirs 0.3.4 2026-01-17 [1] RSPM
rcmdcheck 1.4.0 2021-09-27 [1] any (@1.4.0)
Rcpp 1.1.1-1.1 2026-04-24 [1] RSPM
rex 1.2.2 2026-03-28 [1] RSPM
rlang 1.2.0 2026-04-06 [1] RSPM
rmarkdown 2.31 2026-03-26 [1] RSPM
rpart 4.1.27 2026-03-27 [3] CRAN (R 4.6.0)
rprojroot 2.1.1 2025-08-26 [1] RSPM
rrapply 1.2.8 2025-11-25 [1] RSPM
rstudioapi 0.18.0 2026-01-16 [1] RSPM
rvest 1.0.5 2025-08-29 [1] RSPM
sass 0.4.10 2025-04-11 [1] RSPM
selectr 0.5-1 2025-12-17 [1] RSPM
sessioninfo 1.2.3 2025-02-05 [1] any (@1.2.3)
spatial 7.3-18 2025-01-01 [3] CRAN (R 4.6.0)
splines 4.6.0 2026-04-24 [3] local
stats * 4.6.0 2026-04-24 [3] local
stats4 4.6.0 2026-04-24 [3] local
stringi 1.8.7 2025-03-27 [1] RSPM
stringr 1.6.0 2025-11-04 [1] RSPM
survival 3.8-6 2026-01-16 [3] CRAN (R 4.6.0)
sys 3.4.3 2024-10-04 [1] RSPM
systemfonts 1.3.2 2026-03-05 [1] RSPM
tcltk 4.6.0 2026-04-24 [3] local
testthat 3.3.2 2026-01-11 [1] RSPM
textshaping 1.0.5 2026-03-06 [1] RSPM
tibble 3.3.1 2026-01-11 [1] RSPM
tidyr 1.3.2 2025-12-19 [1] RSPM
tidyselect 1.2.1 2024-03-11 [1] RSPM
tinytex 0.59 2026-03-28 [1] RSPM
tools 4.6.0 2026-04-24 [3] local
usethis 3.2.1 2025-09-06 [1] RSPM
utf8 1.2.6 2025-06-08 [1] RSPM
utils * 4.6.0 2026-04-24 [3] local
vctrs 0.7.3 2026-04-11 [1] RSPM
waldo 0.6.2 2025-07-11 [1] RSPM
whisker 0.4.1 2022-12-05 [1] RSPM
withr 3.0.2 2024-10-28 [1] RSPM
xfun 0.57 2026-03-20 [1] RSPM
xml2 1.5.2 2026-01-17 [1] RSPM
xopen 1.0.1 2024-04-25 [1] RSPM
yaml 2.3.12 2025-12-10 [1] RSPM
zip 2.3.3 2025-05-13 [1] RSPM
[1] /home/runner/work/_temp/Library
[2] /opt/R/4.6.0/lib/R/site-library
[3] /opt/R/4.6.0/lib/R/library
- ── Packages attached to the search path.
──────────────────────────────────────────────────────────────────────────────