Open Kooper16 opened 4 months ago
We also encounter various issues about files not being found, directories not existing, the runner failing to clone or delete the repository more or less randomly after having started tests for about 500 submissions during the correction of our exam.
Some (anonymized) error messages from the build system include:
chmod: cannot access 'tests/run.sh': Not a directory
(where tests/run.sh
is starting our tests, called from the build scriptCannot lock checked-out-repos/<some_id>/<exercise_name>/<exercise_name>-tests/.git/index. Ensure that no other process has an open file handle on the lock file checked-out-repos/<some_id>/<exercise_name>/<exercise_name>-tests/.git/index.lock, then you may delete the lock file and retry.
Error while executing build job <id>: de.tum.cit.aet.artemis.core.exception.LocalCIException: Error while deleting repository
Some error messages from our (OCaml) tests trying to access files include:
Unix.Unix_error(Unix.ENOENT, "realpath", "./solution/src")
Sys_error("./assignment: Not a directory")
I don't know why exactly these errors happen (somehow the filesystem is inconsistent?), but I don't think this is an error on our side, seeing as these failures seem random and most runs succeed.
Additional context: This is a blocker for us for releasing the FPV exam grades of the retake.
Describe the bug
When creating an exercise, Artemis tries to validate the template and solution. However it sometimes has a build error when trying to execute the build script. Restarting the process fixes the issue. The error appeared inconsistent at first but we encounter it more and more often now.
To Reproduce
Expected behavior
The build process to finish on its first attempt.
Screenshots
No response
Which version of Artemis are you seeing the problem on?
7.4.4
What browsers are you seeing the problem on?
Safari
Additional context
Our instructor uses a make file to automatically clone the repositories, edit the files and then commit + push them. The command he uses to execute the script is "make push (which first clones the repositories. Then adds his changes to the repositories. Then it commits and pushes those changes.)
Make file:
Relevant log output