Sebastian Serth
be4f2b790d
Add user to testrun
...
* We want to identify a user that has triggered a testrun. Previously (in regular operation), only submission author who were regular users were able to start a testrun. Now, we want to prepare a future where submission authors are programming groups. Still, a testrun is triggered by an individual user and not a group.
* Further, this commit fixes some missing foreign key constrains.
2023-08-24 19:32:06 +02:00
kiragrammel
e2baa2ee55
Send score for all members of a programming group
2023-08-24 19:32:06 +02:00
kiragrammel
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
kiragrammel
0234414bae
Rename user to contributor in submission
2023-08-24 19:32:06 +02:00
Sebastian Serth
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
Sebastian Serth
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
Sebastian Serth
417ead3d3f
Reduce SQL queries to find a unsolved recommended RfC
...
Fixes CODEOCEAN-JQ
2023-03-14 13:56:23 +01:00
Sebastian Serth
ddf041ac05
Check RfC visibility before redirecting users
2023-02-21 10:01:01 +01:00
Sebastian Serth
7a2e442d91
Reject reference implementations only for Runs
2022-12-12 20:53:46 +01:00
Sebastian Serth
574e99eddd
Fix rubocop offenses - Requires Ruby 3.1+
2022-11-25 11:10:06 +01:00
Sebastian Serth
2753e4ef5b
Always catch StandardError in Threads and release connection
2022-11-11 22:50:27 +01:00
Sebastian Serth
cf957eb715
Prevent reference_implementation to be copied to Runner
2022-11-04 17:30:30 +01:00
Sebastian Serth
d80a8dd64f
Fix Submissions index page
...
Closes CODEOCEAN-BJ
2022-10-11 20:21:13 +02:00
Sebastian Serth
4f5f71840a
Change order of tests to execute linter checks first
2022-10-05 19:38:38 +02:00
Sebastian Serth
bbb791471b
Remove AWS study
2022-09-21 18:57:12 +02:00
Sebastian Serth
166aa3cc6f
Remove Ransack from Exercise edit for tags
...
* Also improve Ransack usage of attributes and associations
2022-08-20 01:33:00 +02:00
Sebastian Serth
f0b89d8461
Fix Rubocop offense
2022-05-06 16:42:30 +02:00
Sebastian Serth
6d95b921f0
Limit RfC display to the last months
2022-05-06 16:29:52 +02:00
Sebastian Serth
e4384d7ddd
Merge pull request #1242 from openHPI/refactor_testrun_table
...
Refactor testrun table
2022-05-04 00:25:08 +02:00
Sebastian Serth
2ce9c4258a
Remove New Relic
2022-04-29 22:53:36 +02:00
Sebastian Serth
ea02dff0e5
Extend storage of Testrun Messages and truncate long output
2022-04-29 22:44:34 +02:00
Sebastian Serth
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
Sebastian Serth
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
Sebastian Serth
0f378ce151
Limit RfC display to the last three months
2022-04-26 19:00:55 +02:00
Sebastian Serth
d10735d0a8
Persist Execution Environment when running code
2022-04-15 15:22:19 +02:00
Sebastian Serth
4887f4af02
Implement A/B Test for using AWS as an executor for Java
2022-04-15 15:22:19 +02:00
Sebastian Serth
ea85519163
Update bundle (with newest rubocop version) and fix offenses
2022-01-04 09:42:37 +01:00
Sebastian Serth
79edace57b
Use BigDecimals for score calculations
2021-12-16 23:12:16 +01:00
Sebastian Serth
0c1a10959c
Use file name with file path as identifier
2021-12-15 00:52:31 +01:00
Sebastian Serth
5aee2aaba8
Add more logging for execution requests
2021-11-18 14:18:41 +01:00
Sebastian Serth
c2ea27b3ee
Add annotation about exceptions to submission.rb
2021-11-14 22:45:37 +01:00
Sebastian Serth
92eafa145c
Swap runner during score if timeout occurred
2021-11-04 18:43:16 +01:00
Sebastian Serth
91af20b5ce
Disallow assessment files during run
2021-11-02 16:19:24 +01:00
Sebastian Serth
0b4217b12d
Memoize collect_files
2021-11-02 16:19:01 +01:00
Sebastian Serth
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
Sebastian Serth
7285978ea3
Re-add test method for SubmissionsController
2021-11-01 17:13:01 +01:00
Sebastian Serth
5f98456276
Extract run_test_file from submission.rb
2021-11-01 17:13:01 +01:00
Sebastian Serth
2377f8370c
Clarify set_file and set_files in SubmissionsController
2021-11-01 17:13:00 +01:00
Sebastian Serth
0c22e1392a
Remove outdated mnemosyne traces
2021-11-01 17:12:55 +01:00
Sebastian Serth
13c378b980
Remove concurrent ruby gem no longer needed
2021-11-01 17:12:55 +01:00
Felix Auringer
c7369366d5
Ensure that only one EventMachine is running
2021-11-01 17:12:52 +01:00
Felix Auringer
5cc180d0e9
Fix rubocop, I18n, cleanup rebase
2021-11-01 17:12:52 +01:00
Felix Auringer
2dff81a510
Attach duration information to the exception object
2021-11-01 17:12:52 +01:00
Felix Auringer
36578a2817
Ensure to save Testrun even when an error occurs
2021-11-01 17:12:52 +01:00
Felix Auringer
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
Felix Auringer
1d3f0d7ad8
Handle Faraday errors
2021-11-01 17:12:50 +01:00
Felix Auringer
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
Felix Auringer
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
Felix Auringer
63d997a7e3
Fix Rubocop offenses after Rubocop was reconfigured
2021-11-01 17:12:47 +01:00
Konrad Hanff
286a3f394d
Fix autocorrectable rubocop offences and implement suggestions
2021-11-01 17:12:46 +01:00