For each "function" FUNC_NAME there are three important important artifacts:
functions/FUNC_NAME/is a subdirectory containing the function code, mounted as/srv/when the function is running.payloads/FUNC_NAME.jsonlis a JSON-line formatted file where each line is a JSON encoded request payload to the function, useful for testing.output/FUNC_NAME.imga "compiled" filesystem image from the function source automatically generated.
The storage sub-directory is used to store LMDB data from test runs.
To run a function using the requests in its respective payload file, use the Makefile in the root directory:
$ make run/FUNC_NAME
This will build the function image and run it using fc_wrapper, passing in
each of the requests from the payload one after the other. It stores the output
of in run/FUNC_NAME.
-
cos316/assignments- JSON object mapping assignment names to starter code repo and other metadata. Ex:{ "assignment0": { "starter_code": "cos316/assignment0-starter-code" } } -
github/[owner]/[repo]/_meta- JSON object with assignment and list of student NetIDs Ex:github/cos316/assignment0-foobar/_meta{ "assignment": "assignment0", "users": [ "aalevy", "kap" ] } -
github/[owner]/[repo]/_workflow- JSON array with workflow functions Ex:github/cos316/assignment0-foobar/_workflow[ "go_grader", "grades", "generate_report", "post_comment" ]
-
cos316/[assignment]/grading_script- tarball of the grading script -
cos316/[assignment]/grader_config- JSON configuration from grading script