555 Commits

Author SHA1 Message Date
8d8bf5ef29 Connection::Buffer: Fix bug for incomplete lines
* Introduce (temporary) conversion to CRLF-line endings before processing and splitting the output
* (Partially) revert previous changes
2022-04-25 17:53:08 +02:00
902d09b3fa Connection::Buffer: Allow additional, single new lines for AWS 2022-04-24 19:34:53 +02:00
591d520e26 Connection::Buffer: Improve performance for deleting \r suffix 2022-04-24 19:00:02 +02:00
c5f0189859 Connection::Buffer: Remove duplicated new line character
"a\r".gsub(/\r?$/, "\n") ==> "a\n\n"
2022-04-24 18:57:33 +02:00
35454836c8 Allow \r\n and \n line breaks for Connection::Buffer
* Nomad sends CRLF-separated lines
* AWS sends LF-separated lines
2022-04-24 18:26:05 +02:00
4887f4af02 Implement A/B Test for using AWS as an executor for Java 2022-04-15 15:22:19 +02:00
66d4f90b4a Send the WebSocket message immediately with EventMachine.next_tick 2022-04-13 14:39:07 +02:00
5caace01b6 Add comment to DockerContainerPool strategy regarding filtering 2022-04-12 12:47:16 +02:00
18daa1c998 Enable image preview in STDOUT 2022-03-02 11:44:48 +01:00
bb877ac223 Update comment for UserGroupSeparator (Java21) 2022-01-19 08:57:29 +01:00
ea85519163 Update bundle (with newest rubocop version) and fix offenses 2022-01-04 09:42:37 +01:00
4fc4b7ac35 Remove temporary fix for Poseidon#54 2021-12-16 23:15:27 +01:00
88fb04080f Show files with same name but different path 2021-12-15 00:52:31 +01:00
563e14a44a Adapt dashboard to show idle and used runners 2021-12-07 00:08:31 +01:00
a4003ca733 DCP: Redirect successful PyLint output to stdout 2021-12-06 22:12:16 +01:00
394385098d Rescue Faraday::ConnectionFailed for Poseidon 2021-12-01 15:10:47 +01:00
5ef7da14be Show release information for Poseidon 2021-11-25 20:09:46 +01:00
9058ce00db Add A/B/n test for interventions 2021-11-23 01:38:10 +01:00
c90e02e4f1 Fixes CODEOCEAN-5J with error during WebSocket handshake 2021-11-18 14:04:23 +01:00
4cddcb6544 Fixes CODEOCEAN-68 with empty file 2021-11-18 13:37:32 +01:00
b07560bc7e Poseidon: Read native file content if available 2021-11-17 19:36:06 +01:00
86c6ad7ea3 Poseidon: Use absolute path to remove workspace directory 2021-11-17 17:44:09 +01:00
eb985bec9a DCP: Rescue Excon::Error::Socket 2021-11-15 15:09:43 +01:00
e34656eb0f Modify buffer line breaking behavior
* This is based on Sentry issue CODEOCEAN-5W (linter translation failing due to \r in output)
* We cannot keep all "\r" messages but we must not forward the "\r" if it is a single message received after a valid JSON
2021-11-15 00:30:32 +01:00
46e0bb73a7 Fix initial sync with Poseidon 2021-11-10 08:56:33 +01:00
3608856397 Merge pull request #1079 from openHPI/sync_execution_environments
Sync execution environments
2021-11-09 18:44:35 +01:00
7d032e5c0d Buffer: Prevent replacement of "\r" message 2021-11-08 23:33:37 +01:00
1dce6c59ab Add note about default ACL for Docker mount dir 2021-11-08 22:39:10 +01:00
5401ebb54d Revert "DCP: previous_data match should be non-greedy"
This reverts commit 328055e6e8 due to dramatically slower processing.
2021-11-08 20:06:55 +01:00
9a541998e4 Optimize RegEx 2021-11-06 02:15:03 +01:00
59d2a8ecdb Junit5: Specify line to search for assertion error 2021-11-06 00:03:45 +01:00
054d35b8d3 Add environments method to all strategies 2021-11-04 20:09:19 +01:00
94170ea742 DCP: Improve error handling for destroy_at_management 2021-11-04 20:09:19 +01:00
ecf470bddd Refactor sync_environment methods
* Add delete_environment method
* Change return value to allow raising an exception
2021-11-04 20:06:40 +01:00
7bda3f1950 JUnit 4: Allow "exit" at the end of tests 2021-11-02 22:42:38 +01:00
e37683a1b2 Fix linting issue for PyLint adapter 2021-11-02 15:53:49 +01:00
3d3478d859 Test Adapters: Always use the last output for score runs
* This prevents learners from cheating by printing the required status line themselves
2021-11-02 15:52:49 +01:00
328055e6e8 DCP: previous_data match should be non-greedy 2021-11-01 17:13:15 +01:00
65fe1d902d DCP: Match java@hostname output 2021-11-01 17:13:15 +01:00
d16917261b Prevent inactivityTimeout from being smaller than permitted_execution_time 2021-11-01 17:13:14 +01:00
6ff14d6fc7 Connection Buffer: Replace \r in run and score output with \n 2021-11-01 17:13:14 +01:00
475aa8c512 DCP: Allow increasing the pool size when previously empty 2021-11-01 17:13:13 +01:00
eaa06ee528 DCP: Prevent double deletion of runner 2021-11-01 17:13:13 +01:00
6a902c41db DCP: Refactor container method and usage 2021-11-01 17:13:12 +01:00
537d8bfc95 DCP: Add handling of inactivity timer 2021-11-01 17:13:12 +01:00
dcafbb9d46 DCP: Change HTTP verbs 2021-11-01 17:13:12 +01:00
6209e25ee2 DCP: Move pool location to code_ocean.yml 2021-11-01 17:13:12 +01:00
7bb2ef8588 DCP: Forward data before matching stdout termination 2021-11-01 17:13:12 +01:00
dfdec92c6e Use ping option only for DCP WebSocket
* The Faye::WebSocket library will "buffer" some output of the connection and emit the `on :message` events in the order of the messages. However, when a ping is sent while the connection has already been closed, it will emit the `on :close` event immediately and drop all other messages (in that "buffer"). This is problematic for very short running executions that generate a long output (as this will be cut off without a proper exit message sent by Poseidon).
2021-11-01 17:13:11 +01:00
570809bfe9 Allow whitespace for JSON exit 2021-11-01 17:13:11 +01:00