The GatorGrader-to-GitHub issue magician!
wizard
is a complement for GatorGrader, the automated grading system (AGS) used
and developed by the Allegheny College Department of Computer Science. Where wizard
steps in: GatorGrader's outcome of specifications-
based grading checks appears as an issue on a student's repository with checked/unchecked checkboxes representing both achieved
and missed grader checks.
This tool helps surface actionable items for students to complete in the form of an interactive checklist that mimics best practices of using the GitHub platform to surface technical issues with open source software packages/community projects. Beginning acculturation of students to GitHub processes benefits them in internships, future coursework and, eventually, positions as developers -- regardless of version control platform or workflow.
This project aims to help build a transferrable skill that allows students to be more ready contributors to their education in computer science.
As of v0.5.0
, Wizard requires a GitHub Personal Access Token (PAT) set as an organization-level secret.
This token must have the following permissions:
admin:org
repo
workflow
To continue using Wizard with the default Actions flow token, revert to v0.3.2
. However, v0.3.2.
does not support assigning all the members of a given team and, instead, only assigns the last commit author as the assignee of the issue created.
To integrate wizard
into your GitHub Actions workflow, complete a few steps:
- Create a GitHub Issue Template; we suggest you use the example template in
templates/wizard.md
to get started - Add a
category
field to your GatorGrader checks (it can be anything you choose):
- writing/reflection.md:
- description: No TODO markers left in reflection.md
category: Documentation
check: MatchFileFragment
options:
fragment: "TODO"
count: 0
exact: true
- Insert a step for
wizard
in your GitHub Actions workflow:
- name: Create Wizard report
id: wizard
uses: term-world/wizard@v0.3.2
with:
# Substitute your GatorGrade config file here
gatorgrade-config: '.gatorgrade.yml'
if: always()
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
The above example uses the stock GITHUB_TOKEN
to authenticate as the GitHub Actions bot account.
The above suggestions are (as of this writing -- v0.3.2
) probably requirements. Technically, this version
also supports custom templates located elsewhere and custom sorting. However, those features are more-or-less
"pre-alpha." Once the project gets to v1.0.0
, we anticipate many more congfigurable features.