Commit Graph

86 Commits

Author SHA1 Message Date
e9efb5bc2b Add exit_code and status to Testruns, create model for TestrunMessages
* This is the first step to migrate the `output` column from Testruns to a dedicated table TestrunMessages
2022-04-28 15:18:51 +02:00
0f378ce151 Limit RfC display to the last three months 2022-04-26 19:00:55 +02:00
d10735d0a8 Persist Execution Environment when running code 2022-04-15 15:22:19 +02:00
4887f4af02 Implement A/B Test for using AWS as an executor for Java 2022-04-15 15:22:19 +02:00
ea85519163 Update bundle (with newest rubocop version) and fix offenses 2022-01-04 09:42:37 +01:00
79edace57b Use BigDecimals for score calculations 2021-12-16 23:12:16 +01:00
0c1a10959c Use file name with file path as identifier 2021-12-15 00:52:31 +01:00
5aee2aaba8 Add more logging for execution requests 2021-11-18 14:18:41 +01:00
c2ea27b3ee Add annotation about exceptions to submission.rb 2021-11-14 22:45:37 +01:00
92eafa145c Swap runner during score if timeout occurred 2021-11-04 18:43:16 +01:00
91af20b5ce Disallow assessment files during run 2021-11-02 16:19:24 +01:00
0b4217b12d Memoize collect_files 2021-11-02 16:19:01 +01:00
d87e23b9a3 Add execute_command method to runner.rb
* This is now used by the score and test runs
* This also re-enables the interactive shell for execution environments
2021-11-01 17:13:05 +01:00
7285978ea3 Re-add test method for SubmissionsController 2021-11-01 17:13:01 +01:00
5f98456276 Extract run_test_file from submission.rb 2021-11-01 17:13:01 +01:00
2377f8370c Clarify set_file and set_files in SubmissionsController 2021-11-01 17:13:00 +01:00
0c22e1392a Remove outdated mnemosyne traces 2021-11-01 17:12:55 +01:00
13c378b980 Remove concurrent ruby gem no longer needed 2021-11-01 17:12:55 +01:00
c7369366d5 Ensure that only one EventMachine is running 2021-11-01 17:12:52 +01:00
5cc180d0e9 Fix rubocop, I18n, cleanup rebase 2021-11-01 17:12:52 +01:00
2dff81a510 Attach duration information to the exception object 2021-11-01 17:12:52 +01:00
36578a2817 Ensure to save Testrun even when an error occurs 2021-11-01 17:12:52 +01:00
704407b9fc Add strategy for DockerContainerPool
In order to provide an alternative to Poseidon, a strategy for the
DockerContainerPool is added that is used by the runner model.

Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2021-11-01 17:12:51 +01:00
1d3f0d7ad8 Handle Faraday errors 2021-11-01 17:12:50 +01:00
b6bc578aea Move submission scoring from controller concern to submission model
Localization and markdown formatting is now done in a controller
spec in order to bring this logic away from the data and towards
the view.
2021-11-01 17:12:50 +01:00
d0d1b1bffd Introduce strategy for runner behavior
The runner model is only a class responsible for storing information
now. Based on the configuration it picks a strategy for the runner
management. The Poseidon strategy is already implemented and tested.
The Docker strategy will follow.
2021-11-01 17:12:49 +01:00
63d997a7e3 Fix Rubocop offenses after Rubocop was reconfigured 2021-11-01 17:12:47 +01:00
286a3f394d Fix autocorrectable rubocop offences and implement suggestions 2021-11-01 17:12:46 +01:00
17bd2d8726 Reuse runners per user and execution environment
Co-authored-by: Jan-Eric Hellenberg <jan-eric.hellenberg@student.hpi.uni-potsdam.de>
Co-authored-by: Maximilian Pass <maximilian.pass@student.hpi.uni-potsdam.de>
2021-11-01 17:12:46 +01:00
2404c1c36c Rename variables from container to runner 2021-11-01 17:12:45 +01:00
3e6534567d Move copy_submission_files from runner to submission 2021-11-01 17:12:45 +01:00
cf1e4d6edf Rename API routes 2021-11-01 17:12:44 +01:00
347e4728a0 Rework protocol inside websocket
Co-authored-by Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de>
2021-11-01 17:12:44 +01:00
6a4e302f4e Fix socket handling and add configuration option
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de>
2021-11-01 17:12:43 +01:00
92b249e7b3 Reimplement scoring and create connection abstraction
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de>
2021-11-01 17:12:43 +01:00
1546f70818 Begin to refactor websocket handling and implement test
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de>
2021-11-01 17:12:43 +01:00
3cf70a33d8 Integrate new API with websocket (run only)
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de>
2021-11-01 17:12:43 +01:00
2e2cd1855e Add Container abstration with new API calls and adapt running a submission
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de>
2021-11-01 17:12:43 +01:00
da0a682ffb Apply manual rubocop fixes 2021-05-14 22:03:06 +02:00
6cbecb5b39 Apply automatic rubocop fixes 2021-05-14 22:03:06 +02:00
89a42f2dae Use either remoteSubmit or submit for showing exercise statistics 2020-12-16 13:23:47 +01:00
993fb88f03 Enable submit via API client 2020-11-25 20:47:28 +01:00
e8b02b2e0a Submission file_by_name: Improve comment 2020-10-27 01:14:13 +01:00
bad51add3f Store parsed linter messages 2020-10-26 21:14:09 +01:00
ad467fa58f Distinguish between intermediate and final feedback
* Also add more information to user_exercise_feedback
* Migrate existing feedback to enrich with submissions
2020-10-20 13:50:04 +02:00
654bf2ba33 redirect more users to feedback page 2020-09-28 18:37:07 +02:00
413ec9f956 Show up to three submissions for teachers and add overview to table 2020-05-08 11:36:27 +02:00
914eeb6035 Add submission deadline to exercises and allow teachers to view their submissions 2020-05-07 21:23:27 +02:00
b2fc57430c Disable live updates 2020-03-04 11:38:40 +01:00
37cab6a020 Hide RfCs older than 6 months for redirect page. 2020-03-04 11:01:17 +01:00