Skip to contents

qcthat 1.1.2

This patch release focuses on introducing the world to qcthat.

Documentation improvements

Bug fixes

  • Warnings in tests now produce warnings rather than errors (#130).
  • Tests are no longer double-counted when they are associated with multiple issues (#180).

qcthat 1.1.1

This patch release contains improvements and bug fixes discovered while applying the experimental AI agent features released in qcthat v1.1.0. These changes are tracked in #241.

New features

  • The experimental tag-tests-with-issues skill now generates a report in pkgdown/assets describing the reasons that tests were tagged with each issue. If the pkgdown uses pkgdown, this report will be available at {pkgdown_root}/test_tag_reasons.html. We recommend using this report locally to verify results, and then deleting the report without merging it into your pkgdown site (#242).

Bug fixes

  • FetchRepoIssueClosers() is now better at determining which pull request or merge caused each issue to be closed. Other portions of the issue-test relationship mechanism are properly fetched from GitHub (in case the local repo does not have all changes), but the fetches are now much more optimized (#243, #251).
  • ExtractTestsFromFiles() now uses a much more robust mechanism to quickly parse tests, built with the {astgrepr} R package (#247, #257).
  • GetGHRemote() no longer truncates the repo name for repositories with a . in the name (such as “gsm.reporting”) (#248).
  • The qcthat.yaml workflow no longer erroneously mentions “push” triggers (#259).

qcthat 1.1.0

New features and tools to help you track user acceptance testing, and to help you use AI agents to get started with qcthat.

New features

Experimental functions for tracking user-acceptance testing (UAT):

Improved onboarding:

Other changes

  • Additional improvements to QC reports, such as links to the GitHub Actions run (#150), timestamps (#172), and attaching QC Reports to releases within the release description (#152). Additional changes are tracked in the parent issues (#123, #160).
  • The pkgdown site for qcthat now includes a slide deck to introduce the package and the associated system (#166, #167, #168, #169).

Bug fixes

  • Ignored issues are filtered out of reports (#118).
  • Reports work properly when the active branch is associated with multiple PRs (#132), when the PRs contain a lot of commits (#133), and after PRs are merged (#149).
  • GetGHOwner() and GetGHRepo() should now work for forks, even if the local repo name does not match the upstream repo name (#199).

qcthat 1.0.0

You can now use this package to implement a QC framework for any R package associated with a GitHub repository.

New features

A series of QC*() functions to generate QC reports for different sets of issues:

  • QCPackage() for all issues and tests for an R package and its associated GitHub repository (#46, #69).
  • QCCompletedIssues() for only issues closed as completed (#69, #80).
  • QCIssues() for specific issues (#86), and QCMilestones() for issues associated with specific named milestones (#68, #88)
  • QCPR() for issues associated with specific GitHub pull requests, QCMergeGH() to generalize to issues associated with any GitHub merge using GitHub’s graph to determine connections, and QCMergeLocal() to detect probable associations based on commit messages (#68, #84).

A series of Action_*() functions to set up GitHub actions for QC reports:

  • Action_QCCompletedIssues() to run QCCompletedIssues() (#69, #73).
  • Action_QCPRIssues() to run QCPR() for specific pull requests (#55, #68).
  • Action_QCMilestone() to run QCMilestones() for pull requests associated with milestones, and for releases with names that match milestones (#68, #88).

Other changes

This release also includes a number of helper functions and internal improvements.

qcthat 0.2.0

This is a complete rewrite of the package to implement a framework that links GitHub issues to evidence that those issues have been implemented.

New features

  • Function FetchRepoIssues() to get issues from a GitHub repository and compile them into a user-friendly data frame (#34, #47).
  • Function CompileTestResults() to extract test results from testthat test runs and compile them into a user-friendly data frame (#32).
  • Function CompileIssueTestMatrix() to link GitHub issues to test results, producing an IssueTestMatrix object that summarizes the state of issues and their associated tests (#35, #49).
  • Custom print methods for qcthat_SingleIssueTestResults, qcthat_Milestone, and qcthat_IssueTestMatrix objects to display their contents in a user-friendly tree format (#31, #36, #45, #60, #61).