CSCI128 / 128Autograder

Source Code for CSCI128 Autograder at Colorado School of Mines
0 stars 0 forks source link

[ENHANCEMENT] Improve build process #53

Closed gregbell26 closed 9 months ago

gregbell26 commented 10 months ago

Description

Currently the build process using a mix of shell scripts and make files for building the student and Gradescope autograders.

Thusly, it is hard to configure and customize the build process and it currently relies on specifically formatted directories to discover test cases, starter code, and data files.

Issue

The build process is prone to errors and is hard to validate. Currently there are 3 integration tests covering some aspects of the build process.

The build process is also primarily written in make and shell, which requires that the person building the autograder be using macOS or Linux to build.

Finally, it is hard to know what to put in what directories and due to the variable nature of what is being built, files may not be put in the correct directories.

Suggestion

The build process should have major overhauls. It should be written in primarily in Python and should have unit tests covering a large swath of the cases that we have uncovered:

Additionally, builds should still be orchestrated with a makefile.

Acceptance Criteria

gregbell26 commented 10 months ago

This issue is really hard to work on without knowing the design of the new student submission system.

This has been backlogged in favor of working on the AST assertion system and the new StudentSubmission API.