The goal of the ghqc ecosystem is to simplify, standardize, and improve traceability of the QC process through the use of shiny apps which create GitHub Issues and Milestones for your project. ghqc.app is intended to be used with the ghqc package, which will aid in the setup and launching of the shiny apps. The ghqc.app package has 3 main applications/functions:
-
ghqc_assign_app
: This app helps the author assign a set of files, each with a corresponding checklist and QCer, to a GitHub Milestone to kick-off the QC review. -
ghqc_resolve_app
: Throughout the QC review, this app helps the author communicate resolution of QC findings through comparison of file differences, hashes, and commits. -
ghqc_record_app
: This app generates a record that compiles QC review that occurred on GitHub.
You can install the development version of ghqc.app from GitHub with:
# install.packages("pak")
pak::pak("a2-ai/ghqc.app")
library(ghqc.app)
ghqc_assign_app
provides an interface to assign one or more files for
QC in the form of a GitHub Issue(s) within a GitHub Milestone, with
options to assign a repository collaborator as the QCer and/or generate
a checklist of suggested review tasks during QC.
Each Issue created corresponds to a single file assigned to be reviewed for QC. Issues are organized into Milestones as designated by the user.
-
Input a name to create a new Milestone or select an existing Milestone.
-
Optional: if creating a new Milestone, input a description.
-
Optional: select one or more collaborators who will be assigned to perform the QC. The selected collaborator(s) will not be assignee(s) until explicitly assigned to one or more selected files (Step 5 below).
-
Select one or more files from the file tree. Click the + signs to expand directories in the file tree.
-
Optional: select an assignee for each selected file.
-
Select a checklist type for each selected file.
-
Post the Milestone by clicking “Assign File(s) for QC” on the bottom of the pane.
At any time, the user can:
-
Click the
Preview file contents
button below a selected file to view its contents. -
Click the
Preview checklist
button below a selected file to view the items in a its selected checklist.
ghqc_resolve_app
allows a user to insert a comment into a ghqc GitHub
Issue that displays changes in the version control information for the
Issue’s corresponding file.
By default, the comment displays both the original and current commits and hashes for the file. These versions are selected by the user. The comment can optionally display the file difference (“diff”) between the current and previous versions. These changes will likely be implementations of QC feedback.
To use this app, first initialize one or more Issues with ghqc_assign_app()
.
-
Optional: filter to the set of Issues within a Milestone.
-
Select the Issue to be updated.
-
Optional: provide a contextualizing message about the changes made to the file (e.g. “Implemented QC feedback for line 20”).
-
Optional: insert the file difference display into the comment, by selecting “Show file difference”.
If displaying the file difference, choose to either:- compare the original version with the current version or,
- compare a previous version with the current version.
-
Optional: preview the comment before posting to the Issue.
-
Post the comment to the Issue.
ghqc_record_app
allows the user to generate a QC Record for one or
more Milestones created with ghqc_assign_app
.
-
Select one or more Milestones.
- optional to include both open and closed Milestones by unchecking “Closed Milestones only”.
-
Optional: input a name for the PDF.
- The default name is a hyphenated combination of the GitHub repository name and selected Milestone name(s).
-
Optional: input the directory in which to generate the PDF.
- The default directory is the root of the R project.
-
Optional: indicate if the report should only include the Milestone and Issue summary tables by checking “Just tables”. Else, the default setting will generate a Record that contains the summary tables up front as well as detailed descriptions for each Issue including version control information, users, datetimes, events, actions, comments and more.
-
Create the PDF by clicking “Generate QC Record” at the bottom of the pane.