Commit Graph

3741 Commits

Author SHA1 Message Date
0a552cac44 Create codeql-analysis.yml 2021-11-05 09:32:56 +01:00
7f47af99cb Fix order-dependent specs 2021-11-04 19:15:33 +01:00
d033f71ae3 Catch Runner::Error in RemoteEvaluationController 2021-11-04 18:43:16 +01:00
4cd70f2bad Add comment for retries to Runner#execute_command 2021-11-04 18:43:16 +01:00
92eafa145c Swap runner during score if timeout occurred 2021-11-04 18:43:16 +01:00
107ff03eec Bundle update 2021-11-04 17:19:45 +01:00
eb69697b9a Fix missing routes incompatible with a subpath 2021-11-03 16:02:21 +01:00
7bda3f1950 JUnit 4: Allow "exit" at the end of tests 2021-11-02 22:42:38 +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
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
d7e515f1c6 Fix rubocop offense 2021-11-02 10:46:48 +01:00
620dac935a Fix bug that prevented binary file uploads 2021-11-02 10:31:50 +01:00
ebec5bac04 Merge pull request #1078 from openHPI/dependabot/bundler/net-http-persistent-4.0.1 2021-11-02 03:08:42 +00:00
5cda6d3ce8 Merge pull request #1077 from openHPI/dependabot/bundler/js-routes-2.1.2 2021-11-02 03:07:48 +00:00
c6bbd4f28e Bump net-http-persistent from 4.0.0 to 4.0.1
Bumps [net-http-persistent](https://github.com/drbrain/net-http-persistent) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/drbrain/net-http-persistent/releases)
- [Changelog](https://github.com/drbrain/net-http-persistent/blob/master/History.txt)
- [Commits](https://github.com/drbrain/net-http-persistent/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: net-http-persistent
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 03:01:37 +00:00
fe0a1e2887 Bump js-routes from 2.1.1 to 2.1.2
Bumps [js-routes](https://github.com/railsware/js-routes) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/railsware/js-routes/releases)
- [Changelog](https://github.com/railsware/js-routes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/railsware/js-routes/compare/v2.1.1...v2.1.2)

---
updated-dependencies:
- dependency-name: js-routes
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 03:01:26 +00:00
7b834b420b Merge pull request #1076 from openHPI/runner_management
Enable support for runner management
2021-11-01 19:33:59 +01:00
c3642b5d0c Add an empty line before printing exit message
* The empty line is only added if the output is not empty
2021-11-01 17:52:44 +01:00
328055e6e8 DCP: previous_data match should be non-greedy 2021-11-01 17:13:15 +01:00
2c10b48b70 Execute Command: Guard requesting new runner
* If any exception is thrown, these will be caught now and handled appropriately
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
bdfcb0da19 Reset previous exception if retrying command execution 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
1e7cf1c622 Prevent parallel execution of run and test during RfC creation
* Otherwise, the output of both might be mixed and saved incorrectly for the RfC
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
447860892a Always remove exposed_ports_list if present 2021-11-01 17:13:13 +01:00
56d219ad8e [ci-skip] Improve comment for unused_runner_expiration_time 2021-11-01 17:13:13 +01:00
de83843496 Combine no_output and exit_status messages 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
b62a7ad129 Prevent non-existing runner_management config to be read 2021-11-01 17:13:11 +01:00
3c8017f23e JS: Ensure to print status messages for score
* If only one response is available, no array will be passed (but rather an Object). The impact of this has been tackled with the changes included
2021-11-01 17:13:11 +01:00
1609bd2e0e Change default of raise_exception for execute_command 2021-11-01 17:13:11 +01:00
4f1a7cde27 Add null strategy for runners
* This is the default strategy used when the runner management is disabled. It might be replaced with a generic Docker strategy in the future (without pooling). For now, it allows normal "operation" of CodeOcean without any runner management. However, as no runner system is configured, no command can be executed.
2021-11-01 17:13:10 +01:00
5550183d7e [Spec] openhpi/co_execenv_python:3.4 is no longer required 2021-11-01 17:13:10 +01:00
01ec9343cf Remove usage of DockerClient 2021-11-01 17:13:10 +01:00
20064b0715 DockerClient: Cleanup usage of config 2021-11-01 17:13:10 +01:00
b13a3b084d Use new available_images routes from DCP 2021-11-01 17:13:10 +01:00
2551ea709b Remove 'previous' DockerContainerPool implementation 2021-11-01 17:13:09 +01:00
9d833e37b3 Use Net::HTTP::Persistent for requests to Poseidon 2021-11-01 17:13:09 +01:00
25b007dfda [Spec] Fix return value of image_tags for mocked DockerClient 2021-11-01 17:13:09 +01:00