Commit Graph

553 Commits

Author SHA1 Message Date
Felix Auringer
d5b274c9f2 Introduce new error types for runners
The errors are raised in the runner model and in the runner connection
class. In the submission controller the errors are rescued and,
depending on the error, the status timeout / container depleted is
sent to the client.
2021-11-01 17:12:48 +01:00
Felix Auringer
8d968e01e6 Move RunnerConnection into class Runner
The old approach was to require the runner connection. This did
not work anymore with Zeitwerk in Rails 6. @sebastian.serth and I
moved the Connection class in `lib` into the ActiveRecord class
`Runner`. This will also work with future changes like specific
error classes. Furthermore the config was fixed and simplified.

Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2021-11-01 17:12:47 +01:00
Felix Auringer
63d997a7e3 Fix Rubocop offenses after Rubocop was reconfigured 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
Konrad Hanff
3017e46006 Add newline to end of json schema 2021-11-01 17:12:45 +01:00
Konrad Hanff
2404c1c36c Rename variables from container to runner 2021-11-01 17:12:45 +01:00
Konrad Hanff
3e6534567d Move copy_submission_files from runner to submission 2021-11-01 17:12:45 +01:00
Konrad Hanff
575057acd3 Fix some non-autocorrectable linting issues
Many functions in submission_controller.rb still are very long and have
a high complexity. Because the logic for handling execution of
submissions will probably move elsewhere (when switching to
ActionCable), this is fine for now.
2021-11-01 17:12:45 +01:00
Konrad Hanff
80932c0c40 Auto-correct linting issues 2021-11-01 17:12:45 +01:00
Konrad Hanff
6e9562c9e1 Validate json 2021-11-01 17:12:44 +01:00
Konrad Hanff
cf1e4d6edf Rename API routes 2021-11-01 17:12:44 +01:00
Konrad Hanff
c36ec447ff Fix faulty API data format 2021-11-01 17:12:44 +01:00
Konrad Hanff
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
Konrad Hanff
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
Konrad Hanff
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
Konrad Hanff
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
Konrad Hanff
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
Konrad Hanff
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
Sebastian Serth
74e285e9fd Fix rubocop offenses 2021-10-05 12:09:56 +02:00
Sebastian Serth
9fbb148af4 Improve JUnit 5 adapter for successful runs 2021-09-11 21:07:47 +02:00
Sebastian Serth
49d71f9763 Specify version for junit_adapter.rb 2021-09-11 19:51:50 +02:00
Sebastian Serth
b9b2917acf Add JUnit5 adapter 2021-09-11 19:51:26 +02:00
Sebastian Serth
d7eb562389 Prevent underscores from being removed during command substitution 2021-07-07 20:42:59 +02:00
Sebastian Serth
7010614a75 Re-enable translation of linter messages 2021-06-28 22:11:00 +02:00
Sebastian Serth
e7cf4ef5db Apply automatic rubocop fixes 2021-06-25 14:41:49 +02:00
Sebastian Serth
08d7b89108 Merge pull request #930 from openHPI/own-project
Rebrush action sidebar for implement view
2021-06-01 17:38:55 +02:00
Sebastian Serth
f32661ad78 Rework left sidebar
* Move Buttons from left sidebar to JSTree
* Use light style for collapse sidebar buttons
2021-05-28 17:49:59 +02:00
Sebastian Serth
5243808d54 Apply automatic rubocop fixes 2021-05-17 19:40:38 +02: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
b3bd84cc21 Change check for presence of Rails Console 2021-05-10 18:57:01 +02:00
Sebastian Serth
9e3eafb346 skip prometheus initialization if disabled / console 2021-04-26 14:20:14 +02:00
Sebastian Serth
6a6e1c84f4 Move Prometheus initialization after preloading the remaining app 2021-04-22 12:34:27 +02:00
Sebastian Serth
c243e65403 Wrap Prometheus initializer into Rails Executor 2021-04-22 11:29:40 +02:00
Sebastian Serth
fbda980d6e Move eager load before forking process for Prometheus 2021-04-19 17:58:31 +02:00
Sebastian Serth
fc8471c6d4 Parallelize initial Prometheus metric collection 2021-04-19 17:19:49 +02:00
Sebastian Serth
40d2384779 Eager load within Prometheus exporter 2021-04-19 16:56:20 +02:00
Sebastian Serth
6bd9ae9c80 Count RfCs with comments in PostgreSQL for faster Prometheus initialization 2021-04-19 14:55:47 +02:00
Sebastian Serth
434ea0595e Allow flash messages to appear a second time 2021-04-19 12:59:16 +02:00
Sebastian Serth
ed83e8ea52 Fix some rubocop offenses 2021-04-07 14:06:33 +02:00
Sebastian Serth
9485c15c57 Fix exercise anomaly detection
* The SQL query and mail template was erroneous
* Including the `url_helpers` influenced the specs due different url helpers within the specs. Test by executing `rspec './spec/db/seeds_spec.rb[1:1:1]' './spec/features/request_for_comments_filter_spec.rb[1:1]' -f progress --fail-fast --seed 55564`
2021-04-07 14:06:33 +02:00
Tobias Kantusch
44b32b6f6a #46 Add Prometheus exporter 2021-04-07 14:06:32 +02:00
Sebastian Serth
39467ad0e0 Hide linter in week 1 and 2 of Python course 2021-03-08 23:20:42 +01:00
Sebastian Serth
110b009480 Remove A/B test from Python20 course setup 2021-03-08 23:15:58 +01:00
Sebastian Serth
b10e23dd16 Upgrade to newest Sentry 2021-03-04 14:02:16 +01:00
Sebastian Serth
ba4e09e2d7 Rename STDOUT to $stdout in Rake task 2021-02-11 14:33:00 +01:00
Sebastian Serth
13fb6e7f5f Merge branch 'jz_cpp_adapter'
# Conflicts:
#	debian_installer/setup_debian_2_install_docker.sh
2021-01-24 22:49:37 +01:00
Sebastian Serth
ad3e4ce4e2 Use default language for PyLint if non is specified 2021-01-24 22:33:35 +01:00
Sebastian Serth
37d92cadc6 Prevent logging unknown PyLint messages 2021-01-24 22:27:29 +01:00
Sebastian Serth
ae47913ca8 Pass locale to PyLint translator and allow switchable output 2021-01-20 22:41:49 +01:00