Implemented support for container autograding to the /grade/:submissionId endpoint, and implemented the /grade/callback/:autograderJobName endpoint. Modified some devu tango functions to support grading. Users can now make a submission with a file and receive a grade. Resolves #53
Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply
[x] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of
them, don't hesitate to ask. This is simply a reminder of what we are going to look for before merging your code.
[x] My changeset covers only what is described above (no extraneous changes)
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)
Further comments
PR also contains Rishi's task for this week.
TODO:
/grade/callback/:outputFile endpoint is currently completely unsecured. While there aren't any blatant security issues with this endpoint, it's important to implement some sort of authorization in the future.
Because assignment form fields are currently generated by AssignmentProblems, AssignmentProblems made for container autograding have text entry fields just like those for non container autograding. I plan to fix this on sprint4-cleanup, held off on this branch due to the new paths.
The grader service's code is a mess. While functional, it's not pretty and could use reformatting.
Some sort of api-side timeout could be useful to handle the situation where tango goes down mid-grading.
Proposed changes
Implemented support for container autograding to the /grade/:submissionId endpoint, and implemented the /grade/callback/:autograderJobName endpoint. Modified some devu tango functions to support grading. Users can now make a submission with a file and receive a grade. Resolves #53
Types of changes
What types of changes does your code introduce? Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. This is simply a reminder of what we are going to look for before merging your code.Further comments
PR also contains Rishi's task for this week. TODO: