In case there are questions about this project, contact me through mail: [email protected]
Please note that this project is still in development (and might not reach a stable phase). It is provided 'as is' with no guarantee.
Execute the following command (replace "<your_mounted_path>" with the desired path containing tests, solutions etc., e.g. "C:\Users\me\Desktop\work" on Windows)
docker run -v <your_mounted_path>:/gx/mounted -it --name gx graderx/images:latest
Now you are running GraderX! The next step is to generate a config file. In the container, run
gx generate config
This will spawn a "GXconfig.json" file in your mounted directory. Modify it to your needs. Do NOT delete any fields! They may point to invalid directories as long as they are not needed
After saving the config file, you are ready to use GraderX. See section "Available Commands"
To exit the container, type "exit"
Once the initial "docker run" command was executed, you can resume your session by executing the following command:
docker start -i gx
You can also execute commands directly from within the "Exec" tab of the "gx" image in Docker Desktop
NOTE: The container itself is stateless regarding all gx commands. At any point, you can delete the old image and create a new one:
NOTE: Docker saves the underlying image locally. To fetch a new image version, delete the old container and image first (and execute the "run" command again):
IMPORTANT: How can be the container be stateless?
All data representing the state are saved as json files in the mounted directory and are loaded when needed. Here is a list of them:
GXconfig.json in the root of the mounted directory
metadata.json in the working directory (directory path specified in the config). Contains reference to the original solution's path and type of load. Therefore, DO NOT copy solutions to the working directory manually. Use the available commands (this will save your time anyway!)
report.json in the working directory. Contains the results of the last working directory evaluation (see "gx evaluate workdir")
currect_run.json in the results directory (directory path specified in the config). Contains information about all evaluation executions that were saved to the given directory
queue.json in the solutions directory (directory path specified in the config). Contains a list of solutions in that path that need attention (could not/were not evaluated automatically). This file can be either generated manually ("gx generate queue") or is generated on evaluation of all solutions in the directory ("gx evaluate all")
The gx-CLI also provides the "-h" flag to show the usage, available subcommands and flags. For more information, read the bachelor thesis: #add link after release