Push to default branch
Use this when you want fresh questions every time a student pushes to their main branch. It's the simplest setup, and a good first choice.
Submission tag
Use this when you want to assess finished work once, when the student says they're done, rather than on every push. Ordinary pushes don't run it, and it costs one AI call per submission.
Milestone tags
Use this when a project is handed in over several stages, and each stage should get its own assessment. Each tag gets its own issue, PDF and instructor-repository folder, so earlier stages are kept when later ones arrive.
Separate workflow per phase
Use this when each stage of a project needs its own instructions for the AI, and each stage should be asked only about the work since the one before it. Each phase gets its own workflow file. This is the phase2 one.
Manual run overrides
Use this when you want to change a setting for a single run, such as a different number of questions or a different model, from the Run workflow form in the Actions tab, without editing the file.
Assignment brief as context
Use this when you want the questions to follow what the assignment asked for. GrillMyCode reads your brief, rubric or requirements from the repository and gives them to the AI along with the student's code.
A more capable model
Use this when the default model's questions aren't sharp enough for complex code, and you're willing to pay more per assessment for a stronger model.
Private answer key
Use this when you want every student's questions with the answers, and a multiple-choice quiz for your LMS, in a private repository only instructors can see. Classroom 50 assignment repositories only.
Repository labels
Use this when you want to see, straight from your organization's repository list, which student repositories have questions. It needs the private answer key token.
Using the action's outputs
Use this when a later step in your workflow needs the results, for example to post the issue link somewhere else or keep a copy of the questions.
Every input, annotated
Use this when you want to see every setting in one place. Each input has a comment explaining it, and optional ones are commented out. Delete what you don't need.