Skip to content

Releases: Gilead-Public/gsm.utils

v0.4.0

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 ex...
Read more

v0.3.0

Choose a tag to compare

@lauramaxwell lauramaxwell released this 30 Jan 20:13
f019f63

gsm.utils v0.3.0

This update of the gsm.utils package introduces the following features:

  • Adds three new exported functions (render_examples, render_rmd, make_example) for managing R Markdown example files
  • Updates add_pkgdown_examples to read metadata from source Rmd files for proper ordering and titles
  • Reorganizes GitHub Actions workflows by splitting r-releaser into reusable and caller components

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@nandriychuk nandriychuk released this 17 Dec 16:07
3e5e4ca

gsm.utils v0.2.0

This is a major update of the gsm.utils package. It introduces:

  • A full suite of CI/CD pipelines.
  • Improved templates and documentation for contributors.
  • More robust utility functions for setting up and maintaining GSM ecosystem packages.

The changes focus heavily on package developer experience, contributor onboarding, workflow automation, and ensuring the package is well integrated into an organization-wide standard for building and maintaining GSM suite of packages.

New features

  • GitHub Actions workflows for example framework and building and attaching R package source tarballs to GitHub releases.
  • Updated README.
  • Initialized pkgdown website.
  • Refactored utility functions for package and template management: init_gsm_package(), update_gsm_package(), add_gsm_issue_templates(), add_gsm_actions(), add_contributor_guidelines(), add_pkgdown_examples().
  • Added versioning system for GitHub Actions templates** (#36)

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@jwildfire jwildfire released this 18 Sep 18:46
321636d

v0.1.0

Initial release of gsm.utils includes helper functions for creating new pacakges compatible with the gsm framework including default issue templates and GitHub actions

What's Changed

New Contributors

Full Changelog: https://github.com/Gilead-BioStats/gsm.utils/commits/v0.1.0