softwareconstruction240 / autograder

Autograder for BYU's CS 240 Chess project
https://cs240.click
2 stars 2 forks source link

391 autograding for the GitHub assignment #395

Closed Fiwafoofa closed 3 months ago

Fiwafoofa commented 3 months ago

Resolves: https://github.com/softwareconstruction240/autograder/issues/391

Added backend and frontend support for the autograding for the GitHub assignment. Essentially, student's have to submit their URL to canvas and submit on the autograder to have their assignment autograded. The autograder verifies that the GitHub repo is clonable and there was at least two commits: one for the initialization of the repository and the adding of notes.md and if so, grades the assignment based on late penalty (commit penalty is ignored). If not, then their submission is blocked.

Testing was done with these four repos:

A new rubric config item was added with the following SQL:

INSERT INTO autograder.rubric_config (phase, type, category, criteria, points)
VALUES ('GitHub', 'GITHUB_REPO', 'GitHub Repository', 'Two Git commits: one for creating the repository and another for `notes.md`.', 15);

(I couldn't find if or where the autograder populated the rubric_config automatically on runtime, so I DID NOT put any code that does that if relevant.)

And a new rubric for the GitHub assignment was added: Screenshot 2024-06-26 103339

Also, in order to prevent the messages detailing when students had to talk to TA for failing commit requirements in the GitHub assignment, I had to make a slightly funky modification with the GitHelperUtils where the grading context now uses Phase0 instead of null to prevent an exception occurring in GitHelper.

Also, I modified the message in ModifiedTestFilesVerifier because it was slightly annoying me :P

19mdavenport commented 3 months ago

@Fiwafoofa do you have access to the canvas blueprint? Did you make the canvas changes to the blueprint or to the summer term canvas?

Fiwafoofa commented 3 months ago

@19mdavenport I don't believe I have access to the Canvas blueprint. I made the change to the summer term Canvas.

19mdavenport commented 3 months ago

@Fiwafoofa I realized I forgot to do one thing when transitioning to summer term, so I'm going to make an update today. I'd like this to be in it if possible, so I'm going to make some executive edits to this PR. Hopefully you don't disagree with any edits I make, but if you do, please let me know.

19mdavenport commented 3 months ago

@Fiwafoofa do these look ok? Apparently I can't ask you to review your own PR (makes sense but unfortunate for this particular case)

19mdavenport commented 3 months ago

@19mdavenport I don't believe I have access to the Canvas blueprint. I made the change to the summer term Canvas.

Ok. In the future, please ask someone with access to the blueprint (professors, head TA, or sometimes professors will give access to other TA's) to change things in the blueprint rather than directly editing the canvas course. That way the changes can be consistent with future canvas courses and the current canvas course doesn't desync with the blueprint