Permalink
..
Failed to load latest commit information.
c_failure_messages TestCase Isolation (#2419) Aug 17, 2018
choice_of_language Simplify autograding configuration for plaintext diff (#1395) Aug 25, 2017
cpp_buggy_custom Rename autograding config directories (#1278) Aug 3, 2017
cpp_cats Rename submitty system users & groups (#2278) Jul 4, 2018
cpp_custom TestCase Isolation (#2419) Aug 17, 2018
cpp_hidden_tests Simplify autograding configuration for plaintext diff (#1395) Aug 25, 2017
cpp_provided_code Simplify autograding configuration for plaintext diff (#1395) Aug 25, 2017
cpp_simple_lab Simplify autograding configuration for plaintext diff (#1395) Aug 25, 2017
early_submission_incentive/config Early submission incentive applies to sum of specific test cases (#1597) Nov 2, 2017
iclicker_upload Misc: Autograding build output display & tutorial example 16 (#2764) Aug 24, 2018
image_diff_mirror Added support for Image Diffing and Displaying Images above Textboxes… Jul 19, 2017
left_right_exam_seating/config Misc: Autograding build output display & tutorial example 16 (#2764) Aug 24, 2018
matlab Added Matlab support (#1219) Jul 24, 2017
minimal_code_editing Simplify autograding configuration for plaintext diff (#1395) Aug 25, 2017
paragraph_textboxes/config Adding "page" to gradeable component for PDFs (#1338) Aug 11, 2017
pdf_exam/config Update pdf bulk upload limits (#2890) Sep 21, 2018
pdf_word_count [WIP] Rewrite grade_students.sh in Python AND Restructure autograding… Jul 7, 2017
python_linehighlight Simplify autograding configuration for plaintext diff (#1395) Aug 25, 2017
python_multipart_static_analysis Remove execute bit on all files in git repo (#2182) Jun 17, 2018
python_simple_homework Simplify autograding configuration for plaintext diff (#1395) Aug 25, 2017
test_notes_upload/config [Bugfix] system calls for mv & test notes upload config (#2876) Sep 18, 2018
test_notes_upload_3page/config Clicker tweak2 (#1642) Dec 14, 2017
upload_only Force clean gradeable rebuild, UI improvements (#2723) Aug 15, 2018
README.md rearrange example autograding configs and vagrant courses (#1098) Jun 27, 2017

README.md

When loading a sample configuration into the vagrant box for a course, it will try and create some number of fake submissions with the files taken from the (and in the tutorial repo) folders for the given sample assignment. It determines what to submit by following these steps:

Is there a directory that gradeable in sample_submissions, is there files in that folder, and is there a submissions.yml file?

If the answer the first two parts of that question is "No", then no fake submissions will be made for that gradeable. Otherwise, then the submissions.yml file comes into play. However, if the submisisons.yml file exists, and is empty, then that gradeable will be skipped for fake submissions.

a) No, there is no submissions.yml file

Every invididual file and directory in the sample_submissions folder for a given gradeable is considered a valid submission. This is best when all files are standalone and there is no junk files in a directory.

b) Yes, there is a submissions.yml file

The submissions.yml file can be used to choose how the submissions folder is organized and what to submit for a given submission attempt. This file at its simplest is just a list of elements where each element is either a string or another list, which then only contains strings. These strings would be either a file name or a directory name. If a directory is specified, then all files in that directory are zipped and submitted as one zip, where as the specified file is submitted as is.

For the first case, an example submissions.yml would be:

- file1.py
- file2.py
- dir1

This tells us that each of these is a valid submission attempt. This allows us to also place a README.md in that directory and the system won't consider using that file for a submission. However, sometimes you have multiple files that would make a submission attempt (like in C++ for .cpp and .h files), which is where the list of lists comes in. An example for this would be:

- - file1.cpp
  - file2.h
- file3.txt
- dir1

This now says that a submission attempt would contain the two files file1.cpp and file2.h, and then the other attempts would be just file3.txt and just dir1. In this fashion, you can specify exactly what files are to be included in the attempt, even if the attempt has multiple files.

Finally, the final type of gradeable is for multi-parted, which is handled where you must have a submissions.yml file which contains a dictionary where each key is part# for each part in the gradeable. For example, for something with three parts:

part1:
  - part1_file1.py
  - part1_file2.py
part2:
  - part2_file1.py
  - part2_file2.py
part3:
  - - part3_file1_1.py
    - part3_file1_2.py
  - part3_file2.py