Commit Graph

107 Commits

Author SHA1 Message Date
e2baa2ee55 Send score for all members of a programming group 2023-08-24 19:32:06 +02:00
319c3ab3b4 Add ProgrammingGroup & ProgrammingGroupMembership
* User can create programming group with other users for exercise
* Submission is shared in a group
* Also adjust specs
2023-08-24 19:32:06 +02:00
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
db56a690c7 Add option to suppress feedback messages
This is used to dynamically exclude some test results from being shown to users, but still allows them to run in the background (e.g., for research).
2023-07-27 10:38:49 +02:00
e3e6fc3af1 Add foreign keys and an index to StructuredError(Attributes)
These changes will ensure a better data consistency and faster access. We further ensure that records should be deleted properly.
2023-03-20 23:50:12 +01:00
417ead3d3f Reduce SQL queries to find a unsolved recommended RfC
Fixes CODEOCEAN-JQ
2023-03-14 13:56:23 +01:00
ddf041ac05 Check RfC visibility before redirecting users 2023-02-21 10:01:01 +01:00
7a2e442d91 Reject reference implementations only for Runs 2022-12-12 20:53:46 +01:00
574e99eddd Fix rubocop offenses - Requires Ruby 3.1+ 2022-11-25 11:10:06 +01:00
2753e4ef5b Always catch StandardError in Threads and release connection 2022-11-11 22:50:27 +01:00
cf957eb715 Prevent reference_implementation to be copied to Runner 2022-11-04 17:30:30 +01:00
d80a8dd64f Fix Submissions index page
Closes CODEOCEAN-BJ
2022-10-11 20:21:13 +02:00
4f5f71840a Change order of tests to execute linter checks first 2022-10-05 19:38:38 +02:00
bbb791471b Remove AWS study 2022-09-21 18:57:12 +02:00
166aa3cc6f Remove Ransack from Exercise edit for tags
* Also improve Ransack usage of attributes and associations
2022-08-20 01:33:00 +02:00
f0b89d8461 Fix Rubocop offense 2022-05-06 16:42:30 +02:00
6d95b921f0 Limit RfC display to the last months 2022-05-06 16:29:52 +02:00
e4384d7ddd Merge pull request #1242 from openHPI/refactor_testrun_table
Refactor testrun table
2022-05-04 00:25:08 +02:00
2ce9c4258a Remove New Relic 2022-04-29 22:53:36 +02:00
ea02dff0e5 Extend storage of Testrun Messages and truncate long output 2022-04-29 22:44:34 +02:00
5ecba6ef70 Persist TestrunMessages and store timestamp
So far, the Testrun messages are in addition to the Tesstrun.output column
2022-04-29 01:00:51 +02:00
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