Commit Graph

157 Commits

Author SHA1 Message Date
Sebastian Serth
9d1be1eeff Migrate AnomalyNotification to contributor
* Also, this commit aims to fix the (broken) anomaly notifications.
2023-08-24 19:32:06 +02:00
Sebastian Serth
a1941336d9 Fix Runner access for programming groups
* We also rename the corresponding columns in the Runner model, so that for polymorphic association gets clear.
2023-08-24 19:32:06 +02:00
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
Sebastian Serth
e3603758ef Refactor LTI parameters and add study group
* This change also requires that submissions in our test need to have a valid study 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
0f83746113 Fix default scope for old migrations 2023-08-05 21:22:47 +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
c49f6e05a2 Fix Rubocop offenses 2023-07-04 23:42:45 +02:00
Sebastian Serth
bcdc71021e Fix Rubocop offenses 2023-06-11 20:46:45 +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
9c3392b324 Add consumer-based RfC Visibility settings
This setting will be useful to increase data protection, where users might not be allowed to see RfCs from other contexts.
2023-02-20 23:47:06 +01:00
Karol
93188ba04d added migration to replace existing file_extension containing nil with '' 2023-02-09 18:42:24 +01:00
Sebastian Serth
2679f5fa56 Allow random selection for ProxyExercise 2023-01-20 21:02:20 +01:00
Sebastian Serth
6bfda8e552 Migrate default intervalstyle in database
By switching the `intervalstyle`, we assume to fix CODEOCEAN-FT. It is caused by by PgBouncer providing different database connections to Rails that might behave differently.
2022-12-06 23:43:23 +01:00
dependabot[bot]
90b30e2bf7 Upgrade to Rails 7.0 and apply new framework defaults
* Remove `send_stream` method pulled in before upgrading Rails
* Remove spring, it is no longer included by default for new apps
* Remove deprecated options from environments
* Remove old asset paths and workarounds no longer needed
* Remove unnecessary `OAUTH_10_SUPPORT` const, LTI still uses OAuth 1.0
* Dump schema with new defaults (and specify precision for timestamps where needed)
2022-12-04 15:21:59 +01:00
Sebastian Serth
574e99eddd Fix rubocop offenses - Requires Ruby 3.1+ 2022-11-25 11:10:06 +01:00
Sebastian Serth
eb188dcd71 Add privilegedExecution flag to database and Poseidon Strategy 2022-09-24 22:32:41 +02:00
Sebastian Serth
dffeca27de Fix null: false error in earlier migration 2022-09-24 00:05:21 +02:00
Sebastian Serth
04ed45ea73 Migrate database and models for study-group-based authorization 2022-09-22 19:24:26 +02:00
Janis4411
6e213f754f minor styling change to authenticationtoken model, changed the expire_at column of AuthenticationToken form date to datetime 2022-08-05 08:05:07 +02:00
Janis4411
d64daadd21 added AuthenticationToken model, updated some restrictions for the authentication token table, added dependent destroy to the user model for authentication tokens 2022-08-05 08:05:07 +02:00
Sebastian Serth
5f846946df Fix detection of incomplete Unicode characters for Testrun migration 2022-05-20 15:08:43 +02:00
Sebastian Serth
db62686b75 Migrate existing Testruns to use TestrunMessages 2022-04-29 22:44:35 +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
d10735d0a8 Persist Execution Environment when running code 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
da4e10b990 Add CommunitySolution
* Also slightly refactor some JS files
2021-11-23 01:38:31 +01:00
Sebastian Serth
9079a0b15a Implement Tips Intervention 2021-11-23 01:38:10 +01:00
Sebastian Serth
72501211a6 Fix issue when migrating an empty database 2021-11-09 17:38:58 +01:00
Sebastian Serth
0db6f20933 Move MemoryLimit to Execution Environment 2021-11-01 17:13:06 +01:00
Sebastian Serth
06ef4430f5 Change exposed_ports to array 2021-11-01 17:13:02 +01:00
Sebastian Serth
f896d041f8 Restructure submissions_controller and remove outdated copy_comments method 2021-11-01 17:12:58 +01:00
Sebastian Serth
8bd9a93944 Add NOT NULL constraint on cpu_limit 2021-11-01 17:12:55 +01:00
Sebastian Serth
0cc1c7a396 Combine runner waiting_time migrations 2021-11-01 17:12:55 +01:00
Felix Auringer
413f9b2705 Improve error resilience and handling
Timeouts are now handled correctly and the Runner automatically
creates the execution environment if it could not be found in
Poseidon. The runner is deleted locally if Poseidon returns
a bad request error.
2021-11-01 17:12:50 +01:00
Felix Auringer
b847daf823 Remove waiting_time from runner model
After removing the logic that stores the duration that has been
waited for a runner in the runner, this now also removes the column
from the database as it is not used anymore.
2021-11-01 17:12:49 +01:00
Konrad Hanff
90fac7b94c Copy execution environment to Poseidon on create and update
When creating or updating an execution environment, an API call to
Poseidon is made with the necessary information to create the
corresponding Nomad job.

If runner management is configured, his will display a warning
(currently in the same color as if it were a success) in the UI, if the
API call fails. The environment is saved even if it fails.
If runner management is not configured, this warning will not be created.
2021-11-01 17:12:48 +01:00
Felix Auringer
63d997a7e3 Fix Rubocop offenses after Rubocop was reconfigured 2021-11-01 17:12:47 +01:00
Felix Auringer
fc6aa12b0a Remove handling of runner timeouts 2021-11-01 17:12:47 +01:00
Konrad Hanff
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
Sebastian Serth
da0a682ffb Apply manual rubocop fixes 2021-05-14 22:03:06 +02:00
Sebastian Serth
6cbecb5b39 Apply automatic rubocop fixes 2021-05-14 22:03:06 +02:00
Sebastian Serth
11962a1d65 Upgrade to Rails 6.1 and apply new framework defaults 2021-05-12 16:49:14 +02:00
Sebastian Serth
8378070bc2 Upgrade to Rails 6.0 and apply new framework defaults 2021-05-12 16:47:05 +02:00
Sebastian Serth
4958f5b9a9 Add StudyGroup to RemoteEvaluationMapping 2021-04-30 12:06:12 +02:00
Maximilian Pass
028fc2989a #18 Add sql index for unpublished exercises
And remove spec for remove feature
2020-12-15 12:17:11 +01:00
Sebastian Serth
ee7729110b Add LinterCheck and LinterCheckRun 2020-10-26 21:08:43 +01:00
Sebastian Serth
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