Skip to content

Implement Container Autograding#109

Merged
jessehartloff merged 19 commits intodevelopfrom
grading-entity-update
Apr 27, 2024
Merged

Implement Container Autograding#109
jessehartloff merged 19 commits intodevelopfrom
grading-entity-update

Conversation

@keiferms3
Copy link
Copy Markdown
Collaborator

@keiferms3 keiferms3 commented Apr 26, 2024

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 apply

  • Bugfix (non-breaking change which fixes an issue)
  • 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.

  • 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
  • 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.

@keiferms3 keiferms3 added the api label Apr 26, 2024
@keiferms3 keiferms3 marked this pull request as ready for review April 26, 2024 19:15
Copy link
Copy Markdown
Member

@jessehartloff jessehartloff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@jessehartloff jessehartloff merged commit d56db8c into develop Apr 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Container Autograder grading function

3 participants