Introduction to ghqc
GitHub Issues and Milestones
Issues are used to track individual tasks, enhancements, or other work items within a GitHub repository.
Issues typically contain a title, body, comments, and assignee(s).
Milestones group related Issues under a common goal or timeline, such as a project phase.
ghqc co-opts GitHub Issues and Milestones as the nexus for QC processes.
Getting started
The QC script Author begins the QC workflow by running the Assign app, which is a Shiny app that allows him to select a set of QC files in his project directory.
For each QC file, the author selects a checklist template from his organization and optionally a QCer.
The app creates a GitHub Issue for each selected QC file and organizes them into a Milestone.
Each Issue body also includes a metadata section with configuring information for the QCer and tooling.
Example
Here is an example GitHub Milestone created by the Assign app: It has one ghqc Issue, named for the relative path of its corresponding file.
Here is the Issue within this Milestone:
QC review
The QCer is notified of QC assignment in GitHub or receives the Issue link and assigns herself.
To review, the QCer:
- Clones the repo/pulls the initial qc commit given by the metadata section
- Reviews the file
- Checks off checklist items in the Issue body
- Posts review comments in the Issue thread for discourse with the Author
- Approves the Issue when QC is complete