Skip to content

v0.4.0

Latest

Choose a tag to compare

@jharmon-gilead jharmon-gilead released this 28 May 16:43
b020480

gsm.utils v0.4.0

This release standardizes actions and related functionality, and solidifies this package:

  • We now use the fs package 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 shared pkgdown-all.yaml workflow) automatically adds rmarkdown and quarto files in pkgdown/menus/* to the pkgdown site, with a menu for each * subfolder. See vignette("pkgdown-assets") for details (#67, #89, #103, #108).
  • init_gsm_package() and update_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() and update_gsm_package() shared underlying functionality to avoid surprises (#110).
  • Unused experimental functionality has been removed (#111).

What's Changed

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 tests passed

🟢 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
✅ All tests passed

⭕ 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.

──────────────────────────────────────────────────────────────────────────────