Releases: Gilead-Public/gsm.utils
Release list
v0.4.0
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 ex...
v0.3.0
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_examplesto 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
- v0.2.0 > dev by Natalia Andriychuk (@nandriychuk) in #42
- Update r-releaser workflow by Natalia Andriychuk (@nandriychuk) in #48
- Revert "Update r-releaser workflow" by Natalia Andriychuk (@nandriychuk) in #49
- Revert bad revert. by Spencer Childress (@samussiah) in #53
- Revert "fix #50" by Spencer Childress (@samussiah) in #52
- Update
pkgdown-with-examplesaction to regenerate examples. by Spencer Childress (@samussiah) in #51 - Improve Example Template + Rendering by Jeremy Wildfire (@jwildfire) in #56
- gsm.utils RC v0.3.0 by Laura Maxwell (@lauramaxwell) in #57
New Contributors
- Spencer Childress (@samussiah) made their first contribution in #53
Full Changelog: v0.2.0...v0.3.0
v0.2.0
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
- Implement standard pkgdown/examples framework by Jeremy Wildfire (@jwildfire) in #24
- Test pkgdown build by Jeremy Wildfire (@jwildfire) in #26
- Remove test coverage and styling GHAs by Natalia Andriychuk (@nandriychuk) in #32
- Update r_releaser.yaml by Anne Zheng (@annezheng2) in #18
- Add GHA versioning system by Jeremy Wildfire (@jwildfire) in #37
New Contributors
- Jeremy Wildfire (@jwildfire) made their first contribution in #24
- Anne Zheng (@annezheng2) made their first contribution in #18
Full Changelog: v0.1.0...v0.2.0
v0.1.0
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
- Add reusable r-releaser workflow by Natalia Andriychuk (@nandriychuk) in #15
- Add capabilities to initialize and update a gsm repo by Laura Maxwell (@lauramaxwell) in #14
New Contributors
- Natalia Andriychuk (@nandriychuk) made their first contribution in #15
- Laura Maxwell (@lauramaxwell) made their first contribution in #14
Full Changelog: https://github.com/Gilead-BioStats/gsm.utils/commits/v0.1.0